【问题标题】:How do I get around the 403 response code that a Browser gives me?如何绕过浏览器给我的 403 响应代码?
【发布时间】:2012-06-30 07:22:59
【问题描述】:

我正在编写一个 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

提前致谢!

【问题讨论】:

  • 403 表示 Forbidden,这应该可以提示您正在发生的事情,不是吗?
  • 网站试图限制机器人下载...是的,网站不希望你做你正在做的事情。
  • 查看checkupdown.com/status/E403.html了解403的解释
  • @MattMarx “Forbidden”这个词你不懂吗?
  • 即便如此。如果这些网站有经过批准的 API,请使用它,否则……我们不会帮助您尝试绕过合法网站的完全合理的限制。

标签: java web-scraping http-status-code-403


【解决方案1】:

HTTP 代码 403 表示 FORBIDDEN

如果不提供您没有的身份验证凭据,您将无法绕过此限制。

跳过这些页面并继续前进。

【讨论】:

    猜你喜欢
    • 2021-08-24
    • 1970-01-01
    • 2018-10-28
    • 2018-04-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-07-03
    相关资源
    最近更新 更多