【发布时间】:2014-11-26 13:10:30
【问题描述】:
我有这段简单的代码:
object Main {
def main(args: Array[String]) {
val application = new DefaultApplication(new File(args(0)), this.getClass.getClassLoader, null, Mode.Prod)
Play.start(application)
val test: Future[Int] = WS.url("http://www.bestattungsvergleich.de/go/" + URLEncoder.encode("Döhren", "UTF-8"))
.withFollowRedirects(true)
.withRequestTimeout(5000)
.get()
.map(x => {
println(x.status)
x.status
})
.recover { case e: Exception => {
println(e.getMessage)
1000
}
}
println(Await.result(test, Duration.Inf))
Play.stop()
}
}
基本上我使用Play! WS utils 从一个url 获取http 响应代码,问题是这个url 有一个临时重定向(它返回307)并且重定向时url 似乎没有被编码,这是从 catch 子句打印的消息:
name contains non-ascii character: lp-loaded-variation-Dᅢᄊhren
我还尝试了其他类型的编码(LATIN1,一些ISOs),是我做错了什么还是来自Play! Web 服务的重定向检查有问题?
正如wingedsubmariner 所述,lp-loaded-variation-Dᅢᄊhren 将作为 Set-Cookie 标头的一部分返回。
【问题讨论】:
-
lp-loaded-variation-Dᅢᄊhren实际上是作为Set-Cookie标头的一部分返回的。我不知道为什么玩!决定对此感到窒息。 -
感谢您指出这一点。
标签: scala http playframework playframework-2.0