0
Androidアプリでウェブサイトのコンテンツ(http://www.google.com)を読んでみたいと思います。しかしApacheのDefaultHttpClientとHttpURLConnectionと異なるコンテンツ
DefaultHttpClient client = new DefaultHttpClient();
HttpGet g = new HttpGet(target);
HttpResponse res = client.execute(g);
InputStream is = res.getEntity().getContent();
BufferedReader reader = new BufferedReader(new InputStreamReader(is, "UTF-8"));
StringBuilder builder = new StringBuilder();
String line;
while ((line = reader.readLine()) != null) {
builder.append(line);
}
return Base64.encodeToString(builder.toString().getBytes(), Base64.NO_WRAP);
、私は同じことを達成するためのHttpURLConnectionを使用する場合、私はおよそ100.000文字の長さの異なるコンテンツを取得:非推奨DefaultHttpClientはまだ正常に動作し、私はいつもおよそ15.000文字のコンテンツ長を取得し使用します。
HttpURLConnection connection = (HttpURLConnection) new URL(target).openConnection();
InputStream is = connection.getInputStream();
BufferedReader reader = new BufferedReader(new InputStreamReader(is, "UTF-8"));
StringBuilder builder = new StringBuilder();
String line;
while ((line = reader.readLine()) != null) {
builder.append(line);
}
return Base64.encodeToString(builder.toString().getBytes(), Base64.NO_WRAP);
誰にも分かりませんが、なぜ大きな違いがありますか?ありがとう!
'HttpURLConnection'でどのような問題が発生していますか? –
リクエストに同じユーザーエージェントが含まれているかどうかを確認しましたか? –
DefaultHttpClient(15.000ではなく100.000文字)ではないHttpURLConnectionを使用すると、多くのJavaScriptがロードされます – user7346048