我正在编写一个webcrawer类型的程序,除了html之外,我还需要下载图片,swf等,以便离线使用。
有人在下载文件时提供了一些非常有用的信息:
import static org.apache.commons.io.FileUtils.copyURLToFile;
public static void Download() {
URL dl = null;
File fl = null;
try {
fl = new File(System.getProperty("user.home").replace("\\", "/") + "/Desktop/Screenshots.zip");
dl = new URL("http://example.com/uploads/Screenshots.zip");
copyURLToFile(dl, fl);
} catch (Exception e) {
System.out.println(e);
}
}
效果很好,但有些网站给了我403块。在做了一些研究之后,我发现它主要是网站试图限制机器人下载。在Java中有解决方法吗?显然,您需要将其作为HTTP请求发送,而不是使用我拥有的代码。
对我而言不起作用的链接是:http://images.4chan.org/v/src/1340901798824.jpg
提前致谢!
答案 0 :(得分:1)
HTTP代码403表示FORBIDDEN
。
如果不提供您没有的身份验证凭据,则无法绕过此限制。
跳过这些页面继续前进。