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 时,我抓取了这个 urlmilitaryphotos.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