如何使用Scala dispatch获取301重定向中返回的URL?

W.P*_*ill 8 scala http-redirect http-status-code-301 scala-dispatch

我正在使用Scala dispatch HTTP库,版本0.10.1.我向一个返回HTTP 301永久重定向的URL发出请求.例如,http: //wikipedia.com返回301,重定向到http://www.wikipedia.org/.我如何使用dispatch获取重定向的URL?

在教程之后,这就是我所做的.

import dispatch._, Defaults._
val svc = url("http://wikipedia.com")
val r = Http(svc OK as.String)
r()
Run Code Online (Sandbox Code Playgroud)

这会引发"意外响应状态:301"异常.据推测,我需要查询r重定向URL 的值,或者可能指定除OK定义之外的其他参数,但我无法弄清楚如何从文档中做什么.

gnf*_*gnf 11

配置基础asyncClient以遵循重定向:

val r = Http.configure(_ setFollowRedirects true)(svc OK as.String)
Run Code Online (Sandbox Code Playgroud)

要获取重定向的URL:

val svc = url("http://wikipedia.com/")
val r = Http(svc > (x => x))
val res = r()

println(res.getHeader("Location"))
Run Code Online (Sandbox Code Playgroud)