Apache HttpClient を使用してこのページを取得しようとしています: http://quick-dish.tablespoon.com/
残念ながら、これを実行しようとすると、次のように返されます (JSoup によって返されるため、おそらく実際には HTTP... 文字列自体が返されるだけです)。
<html>
<head></head>
<body>
HTTP/1.1 200 OK [Server: nginx/1.0.11, Content-Type: text/html;charset=UTF-8, Last-Modified: Mon, 02 Jul 2012 15:30:40 GMT, Vary: Accept-Encoding, Cookie,Accept-Encoding, X-Powered-By: PHP/5.3.6, X-Pingback: http://quick-dish.tablespoon.com/xmlrpc.php, X-Powered-By: ASP.NET, Content-Encoding: gzip, X-Blz: lb1.blaze.io, Date: Mon, 02 Jul 2012 16:06:21 GMT, Content-Length: 11723, Connection: keep-alive]
</body>
</html>
これが私のコードです(Webサーバーはそのように動作する傾向があることがわかったので、私はGoogleボットをエミュレートしていることに注意してください):
URL sourceURL = new URL("http://quick-dish.tablespoon.com/");
HttpClient httpClient = new ContentEncodingHttpClient();
httpClient.getParams().setBooleanParameter("http.protocol.handle-redirects", true);
final HttpGet httpget = new HttpGet(sourceURL.toURI());
httpget.setHeader("User-Agent", "Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)");
httpget.setHeader("Accept", "text/html");
httpget.setHeader("Accept-Charset", "utf-8");
final HttpResponse response = httpClient.execute(httpget);
return Jsoup.parse(response.toString());
言うまでもなく、私の Web ブラウザーでは問題なくページが返されます。何か案は?