Scala Dispatch Databinder库抛出java.nio.BufferUnderflowException

时间:2009-11-06 05:07:07

标签: scala databinder scala-dispatch

我在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。有什么想法吗?

1 个答案:

答案 0 :(得分:1)

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