我在Scala中使用Dispatch Databinder库进行Http。
我有这种方法。
def testCheckPage(url:String):String = {
try {
var http = new Http
var request = new Request(url)
val req_with_agent = request <:< Map("User-Agent" -> "Mozilla/4.0")
val responseBody = Http (req_with_agent as_str)
responseBody.length.toString
} catch {
case ex: Exception if ex.getMessage == null => "Message: " + ex.toString
case ex: Exception => "Message: " + ex.getMessage
}
}
对于某些网址,例如http://bae.cf.huffingtonpost.com
,我会收到java.nio.BufferUnderflowException
。有什么想法吗?
答案 0 :(得分:1)
当编码不匹配时,这可能发生在其他库(例如Source.fromUrl)中。我不确定如何在该库中设置编码,但您提供的URL的编码是ISO-8859-1,我相信这将默认为UTF-8,导致该问题。