これはコードです:
URL myUrl = new URL("http://www.militaryphotos.net/forums/showthread.php?224123-Weekend-Photos-9th-and-10th-March-2013/page1");
URLConnection ucon = myUrl.openConnection();
ucon.setRequestProperty("User-Agent", "Mozilla/5.0 (Windows; U; Windows NT 6.0; pl; rv:1.9.1.2) Gecko/20090729 Firefox/3.5.2");
InputStream is = ucon.getInputStream();
BufferedReader page = new BufferedReader(new InputStreamReader(is));
StringBuilder results = new StringBuilder();
String linea="";
while((linea = page.readLine()) != null){
Log.w("myApp",linea);
}
is.close();
page.close();
この後、別のページをダウンロードする必要がある別のアクティビティを起動します (最初のアクティビティと同様に、最後の "2" でのみ変更されます)。
Logcatを見ると、ページが1、2回印刷されます....
最初にページ 2 をダウンロードしてからページ 1 をダウンロードしようとすると、同じ問題が発生しますが、今回はページ 2 が複製されます。
このコード スニペットを使用する場合も同じです。
HttpClient httpClient = new DefaultHttpClient();
HttpContext localContext = new BasicHttpContext();
HttpGet httpGet = new HttpGet("http://www.militaryphotos.net/forums/showthread.php?224123-Weekend-Photos-9th-and-10th-March-2013/page2");
HttpResponse response = httpClient.execute(httpGet, localContext);
String result = "";
BufferedReader page = new BufferedReader(
new InputStreamReader(
response.getEntity().getContent()
)
);
それはどのように可能ですか?
- - - - - - - - - - - - - - - - - - - - - -編集 - - - ----------------------------------
私は問題を見つけたと思います。
HTML をクロールすると、この URL militaryphotos.net/forums/showthread.php?t=224123 を取得し、最初のページを正常にダウンロードできます。
militaryphotos.net/forums/showthread.php?t=224123/page2 を使用すると、自動的にページ 1 にリダイレクトされます。
以下のコードでは、実際に機能する別の URL 形式 militaryphotos.net/forums/showthread.php?224123-Weekend-Photos-9th-and-10th-March-2013/page1 を使用し、それを他のものと混ぜ合わせました。動作します。
だから、私があなたを悩ませたらごめんなさい。:P