1

我看过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 上的一个函数。

4

1 回答 1

2

文档对此进行了解释:

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

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

请注意,您的代码示例显式转换为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 状态代码、所有响应标头和整个响应正文。

在此处查看响应的完整参考

于 2016-01-21T22:50:04.143 回答