0

これはコードです:

    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" でのみ変更されます)。

http://www.militaryphotos.net/forums/showthread.php?224123-Weekend-Photos-9th-and-10th-March-2013/page2

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

4

0 に答える 0