【问题标题】:how to get the response content with dispatch?如何通过调度获取响应内容?
【发布时间】:2016-01-20 18:56:28
【问题描述】:

我看过dispatch tutorial,可以很容易地找到如何获取header信息(如果状态是200,如果我已经理解了其他帖子)例如;

def main(args: Array[String]){ 
    val svc = url("http://www.google.com")
    val country = Http(svc OK as.String)
    for (c <- country){
        println(c)
    }
}

但是,我找不到如何获取响应内容。如果有人可以帮助我,我将不胜感激。我认为它应该是应用在 svc 上的一个函数。

【问题讨论】:

    标签: scala scala-dispatch


    【解决方案1】:

    文档解释它:

    上面定义并向给定主机发起请求,其中 2xx 响应作为字符串处理。由于 Dispatch 已完全 异步,国家代表字符串的未来,而不是 字符串本身。

    (强调我的)其中country 指的是来自您的示例的请求,而您的示例实际上返回了正文。

    请注意,您的代码示例显式转换为 String,但您可以像这样获取原始响应对象:

    val svc = url("http://www.google.com")
    val request = Http(svc)
    val response = request()
    print(s"Status\n  ${response.getStatusCode}\nHeaders:\n  ${response.getHeaders}\nBody:\n  ${response.getResponseBody}")
    

    这将为您提供 HTTP 状态代码、所有响应标头和整个响应正文。

    See the entire reference for the Response here

    【讨论】:

    • 我阅读教程时非常清楚,它是字符串的未来,而不是字符串本身。你写的其他东西可能有用。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-07-30
    • 1970-01-01
    • 2013-07-23
    • 1970-01-01
    • 2021-07-03
    • 1970-01-01
    • 2020-05-25
    相关资源
    最近更新 更多