这是代码:
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 时,我抓取了这个 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