http://ws.audioscrobbler.com/2.0/?method=track.getInfo&api_key=550633c179112c8002bc6a0942d55b2a&artist=lucinda%20williams&track=lake%20charlesのコンテンツをクロールするために Jsoup を使用したい
コードは次のとおりです。
Document doc = Jsoup.connect("http://ws.audioscrobbler.com /2.0/?method=track.getInfo&api_key=550633c179112c8002bc6a0942d55b2a&artist=lucinda williams&track=lake charles")
.userAgent("Mozilla/5.0 (X11; Ubuntu; Linux i686; rv:20.0) Gecko/20100101 Firefox/20.0")
.timeout(5000)
.get();
ただし、何か問題が発生します。
Exception in thread "main" java.net.SocketException: Unexpected end of file from server
at sun.net.www.http.HttpClient.parseHTTPHeader(HttpClient.java:770)
at sun.net.www.http.HttpClient.parseHTTP(HttpClient.java:633)
at sun.net.www.http.HttpClient.parseHTTPHeader(HttpClient.java:767)
at sun.net.www.http.HttpClient.parseHTTP(HttpClient.java:633)
at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1162)
at java.net.HttpURLConnection.getResponseCode(HttpURLConnection.java:397)
at org.jsoup.helper.HttpConnection$Response.execute(HttpConnection.java:429)
at org.jsoup.helper.HttpConnection$Response.execute(HttpConnection.java:410)
at org.jsoup.helper.HttpConnection.execute(HttpConnection.java:164)
at org.jsoup.helper.HttpConnection.get(HttpConnection.java:153)
at JsoupXML.main(JsoupXML.java:16)
しかし、ブラウザを使用してその URL にアクセスすると、すべて問題ありません。さらに、上記のコードを使用してhttp://ws.audioscrobbler.com/2.0/?method=track.getInfo&api_key=550633c179112c8002bc6a0942d55b2a&artist=cher&track=believeのコンテンツをクロールすると、すべて問題ありません。
その理由と、それを解決するための良いアイデアを教えていただけますか?
ご清聴ありがとうございました。私の英語について申し訳ありません。
NeplatnyUdaj の親切な助けに感謝します。すばらしいヒントを教えてください。Whitspace やその他の特殊記号を %20、%26 などに置き換えるのを忘れていました。