我正在使用抓取工具,我尝试下载“http://devonline.com/”链接。我一直在同一个链接上获得带有重定向的代码301。
如何避免此重定向并检索内容?
这就是我发出请求的方式(在这种情况下文件等于“/”):
String request
= "GET " + file
+ (file.endsWith("robots.txt") ? " HTTP/1.0\r\n" : " HTTP/1.1\r\n")
// " HTTP/1.1\r\n"
+ "User-Agent: " + CrawlerConfig.USER_AGENT + "\r\n"
// + ((!CrawlerConfig.SAVE_IMAGES) ? "Accept: text/html\r\n" : "")
// + "Accept: text/*\r\n"
+ (file.endsWith("robots.txt") ? "Connection: close\r\n" : "")
+ "Host: " + host + "\r\n" + "\r\n"/*
* + body
*/;
outStream.write(request.getBytes("US-ASCII"));
outStream.flush();
答案 0 :(得分:0)
你不能。
如果网络服务器使用重定向进行响应,则提取Location
标题并尝试运气。
Actualy没有通用的解决方案。
我为50个不同的网站编写了自己的抓取器/抓取器。而且几乎所有人都有独特的工作方式。
因此,当涉及到抓取时,它主要是尝试每个可能的操作的方法(如果您没有API访问权限)。
答案 1 :(得分:0)