浅谈403错误代码及解决方法

作者:51IP代理 出处:互联网 时间:2020-08-22
    平时大家在访问不同网站时,偶尔会遇到403 Forbidden的错误提示。那么,403 Forbidden是到底什么意思呢?在使用代理IP的时候出现403 Forbidden错误该怎么解决呢?
    403 Forbidden是 HTTP协议中的一个状态码(Status Code),可以简单理解为没有权限访问此站。该状态表示服务器理解了本次请求但是拒绝执行该任务,该请求不该重发给服务器。在HTTP请求的方法不是“HEAD”,并且服务器想让客户端知道为什么没有权限的情况下,服务器应该在返回的信息中描述拒绝的理由。在服务器不想提供任何反馈信息的情况下,服务器可以用404 Not Found代替403 Forbidden。
 
    那么HTTP 403 – 禁止访问细分的话,又分以下这些情况:
 
    HTTP 403 – 对Internet服务管理器(HTML)的访问仅限于Localhost
 
    HTTP 403.1 – 禁止访问:禁止可执行访问
 
    HTTP 403.2 – 禁止访问:禁止读访问
 
    HTTP 403.3 – 禁止访问:禁止写访问
 
    HTTP 403.4 – 禁止访问:要求SSL
 
    HTTP 403.5 – 禁止访问:要求SSL 128
 
    HTTP 403.6 – 禁止访问:IP地址被拒绝
 
    HTTP 403.7 – 禁止访问:要求客户证书
 
    HTTP 403.8 – 禁止访问:禁止站点访问
 
    HTTP 403.9 – 禁止访问:连接的用户过多
 
    HTTP 403.10 –禁止访问:无效配置
 
    HTTP 403.11 –禁止访问:密码已更改
 
    HTTP 403.12 –禁止访问:映射器拒绝访问
 
    HTTP 403.13 –禁止访问:使用的客户证书已被吊销
 
    HTTP 403.15 –禁止访问:客户访问许可过多
 
    HTTP 403.16 – 禁止访问:客户证书不可信或者无效
 
    HTTP 403.17 – 禁止访问:客户证书已经到期或者尚未生效
 
    403错误是网站访问过程中,常见的错误提示。我们遇到了,也不要心慌不要急,关键是结合上述错误提示找出原因,然后解决问题。
 
    首先,检查一下代码里有没有设置User-Agent。对有些header要特别留意,Server端会针对这些header做检查。User-Agent有些Server或Proxy会检查该值,用来判断是否是浏览器发起的Request。Content-Type在使用REST接口时,Server会检查该值,用来确定HTTP Body中的内容该怎样解析。这时可以通过修改http包中的header来实现。
 
    其次,使用代理IP。这其中有两个层面。一是一定要确保使用的是高匿代理IP。大家都知道代理IP按匿名程度可以分为透明代理、普匿代理和高匿代理。透明代理会透露本机IP,普匿代理会透露使用了代理IP,这两者都会暴露使用了代理IP的事实,很容易被识别,高匿代理则不会暴露;二是尽量使用干净的代理IP。如果有很多其他人和你使用一样的IP同时访问一个网站,也很容易被识别,当这些IP访问频率过快或者访问测试达到了目标网站的阈值时,则会被封IP。
 
    403Forbidden错误一般在爬虫采集数据时出现的频率比较多,在爬虫使用代理IP的时候因为不停地访问服务器终端,频发请求时,服务器终端压力过大,触发了反爬虫机制,导致服务器会拒绝这个IP的访问请求,这个时候如果不切换掉被禁用的IP地址,肯定会影响正常的数据采集效率。所以就需要设置时间来定时切换IP地址。IP代理最核心的功能,就是可以更换各个城市不同的IP地址,而且可以隐藏本地的真实IP地址。
0