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.comjava.nio.BufferUnderflowException. どうして?

4

1 に答える 1

1

これは、エンコーディングが一致しない場合に、他のライブラリ (Source.fromUrl など) で発生する可能性があります。そのライブラリでエンコーディングを設定する方法がわかりませんが、提供された URL のエンコーディングは ISO-8859-1 であり、これがデフォルトで UTF-8 になり、その問題が発生すると思います。

于 2009-11-08T01:24:33.563 に答える