1

我在 Scala 中为 Http 使用 Dispatch Databinder 库。

我有这个方法。

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 
  }
}

对于某些 url,例如http://bae.cf.huffingtonpost.com,我得到一个java.nio.BufferUnderflowException. 知道为什么吗?

4

1 回答 1

1

当编码不匹配时,这可能发生在其他库(例如 Source.fromUrl)中。我不确定如何在该库中设置编码,但您提供的 URL 的编码是 ISO-8859-1,我相信这将默认为 UTF-8,从而导致该问题。

于 2009-11-08T01:24:33.563 回答