如何绕过浏览器给我的 403 响应代码?

Posted

技术标签:

【中文标题】如何绕过浏览器给我的 403 响应代码?【英文标题】:How do I get around the 403 response code that a Browser gives me? 【发布时间】: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,请使用它,否则……我们不会帮助您尝试绕过合法网站的完全合理的限制。 【参考方案1】:

HTTP 代码 403 表示 FORBIDDEN

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

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

【讨论】:

以上是关于如何绕过浏览器给我的 403 响应代码?的主要内容,如果未能解决你的问题,请参考以下文章

WebRequest C# 403 错误

意外的响应代码 403(但在浏览器中工作正常)

CORS 适用于 plnkr,但不适用于浏览器:“响应具有 HTTP 状态代码 403”

okhttp 获取失败响应

Phonegap 403 禁止

如何绕过 CORS 并从 CORS 阻止的 API 获取数据?