如何通过发送获取响应内容?

时间:2016-01-20 18:56:28

标签: scala scala-dispatch

我查看了调度教程,并且可以轻松找到如何获取标题信息(如果状态为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的函数。

1 个答案:

答案 0 :(得分: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