您是否曾经因为在使用代理时收到代理错误代码而感到沮丧,但是您不知道为什么?代理错误代码类似于HTTP状态代码。通过了解这些错误意味着什么,您可以顺利地执行您的刮擦活动,并自动化您的IP设置。
如果您在爬行或抓取活动期间没有充分管理您的代理,很可能会收到这样的错误。问题可能发生在您的一端(客户端)或服务器端。通过进一步阅读本文,您将了解最常见的代理错误类型、为什么会收到这些错误,以及如何解决它们。
什么是Proxy Error代理错误?
代理错误是一种HTTP错误状态,当通过代理发送到web服务器的请求失败时,您将收到该错误状态的响应。为了继续使用代理,无论是什么情况,你都必须找到一个解决方案。请求失败时返回的响应可能看起来有点混乱。如果您熟悉HTTP状态代码,理解代理错误不是问题。(www.data5u.com)
状态代码类别
HTTP状态代码以三位数显示。它们被分成五类,每个错误代码的第一个数字代表一个类别。
他们是;
1.1xx–报告的
2.2xx–成功
3.3xx–重寄
4.4xx–客户端错误
5.5xx–服务器错误
常见的代理错误代码及其
解决方法
1xx信息错误代码
这些是很少使用的临时响应。这些请求被认为是在服务器处理请求时使用的;
100–继续
该代码表示收到了请求的一部分,客户端可以继续发送剩余的请求。通常,客户机首先发送一个带有语句“Expect: 100-continue”的请求头,并从服务器接收100状态代码,以发送请求体。初始请求中的“期望”是为了避免在服务器拒绝初始请求头的情况下发送进一步的请求。
101–交换协议
当浏览器在交易过程中请求更改通信协议时,web服务器会发送101状态代码。当客户端浏览器的请求要求服务器切换通信协议并接受它时,它发送HTTP状态代码“100-切换协议”作为确认。
102–处理(WebDAV)
web服务器可能需要相当长的时间来处理复杂的请求。当客户端的浏览器发送一个WebDAV请求,其中包含多个涉及复杂需求的子请求时,服务器需要一些时间来处理,并最终发送此代码“102-正在处理”。这段代码旨在通过通知客户端服务器收到请求并处理它来避免客户端的超时错误。
103–早期提示
在处理HTTP请求之前,当向浏览器发送HTTP状态时,web服务器收到代码“103-早期提示”。该名称表明这是对客户端浏览器的早期提示,表明服务器尚未开始处理请求。
2xx成功状态代码
接收到200到299之间的代码意味着您的代理收到了您的HTTP请求,将其发送到您想要的网站,并得到了响应。200是收到最多的代码,通知服务器已经成功完成请求。请注意200 OK以外的任何其他2xx代码,因为它可能会显示错误。(www.data5u.com)
以下是最常见的2xx状态代码;
201–已创建
此状态代码表示服务器已经完成了客户端收到的请求,并根据收到的请求创建了新的资源。初始请求作为触发器在服务器中生成新的响应。例如,当服务器根据用户的登录信息生成新的响应时。
202–已接受
当服务器收到来自客户端的请求时,返回“202–已接受”,但它尚未处理。这是接受请求的唯一指示,但是处理请求的结果将在稍后“实际处理”发生时知道。
203–非权威信息
当服务器成功处理请求,但将信息从另一个资源返回给请求的客户端时,收到代码“203-非权威信息”。
204–无内容
服务器找不到收到的请求的任何内容;它发送一个“204-No Content”响应代码,向客户端表明没有内容返回。
205–重置内容
类似于上面的204代码。服务器成功处理了一个请求,但没有返回任何内容。这里唯一的区别是205代码通知客户机重置文档视图。
206–部分内容
当服务器发送受请求标头中提到的范围影响的部分请求资源时,它将返回此错误代码。
例如,客户端请求下载一系列文件,并使用多个流来下载完整的内容。
3xx–重定向错误
3xx代码表示客户端需要额外的操作来完成请求。
这些状态代码在使用浏览器时不会成为问题(例如,谷歌浏览器或者旅行队),而是在使用自己的脚本时。当不需要将请求重定向到其他URL时,您编写的脚本将会派上用场。
由于这些操作会产生无限循环,所以web浏览器通常不会对同一请求进行超过五次的连续重定向。
一些最常见的3xx错误代码如下:
300–多项选择
当请求的URL指向多个资源时,就会出现这种情况。(www.data5u.com)
用户代理(crawler或web浏览器)无法决定获取哪个页面,并收到HTTP代码“300–多项选择”。
通过检查HTTP头来修复300错误代码,并确保URL指向单个资源,以便用户代理可以成功访问页面。
301–资源永久移动
当将永久重定向设置为原始URL以将用户代理转发到不同的URL时,会收到此错误。
当一个网络服务器发送一个“301-永久移动”的状态码,因为用户看不到原始的网址,搜索引擎只会索引重定向的网址。大多数搜索引擎爬虫和用户代理可以跟踪一个URL的5次重定向。超过五次重定向可能会导致无限循环,Chrome等浏览器会显示类似“太多重定向”的消息。
301代码是所有3xx服务器响应代码中最常见的。
302–临时移动资源
当临时重定向设置为原始URL时,会收到代码“302-临时移动”。这意味着一旦发出请求,用户代理将被重定向到另一个URL。
303–查看其他资源
当请求的资源位于另一个URL地址时,会收到“303-查看另一个资源”,并且应该使用“GET”方法而不是代码来请求它。请注意,最初请求的页面只有在收到“200-成功”代码时才会被搜索引擎编入索引。
304–资源未修改
如果所请求的资源自上次请求以来没有被修改,服务器将响应“304-资源未修改”代码。
在这种情况下,服务器会认为没有必要再次发送数据,因为客户机已经有了所请求资源的副本,该副本没有被修改。
注意到“最后修改时间”在请求标题行“如果-修改-自”或“如果-匹配”中提及。
另外,如果您的网页自上次搜索引擎爬虫访问您的站点以来没有改变,那么推荐返回304代码以加速索引和减少爬虫负载。
305–使用代理
如果请求的资源只能通过代理服务器访问,将出现代码“305-使用代理”。响应中也会收到代理服务器的地址,并显示在浏览器的窗口中。
一些浏览器喜欢微软公司出品的web浏览器出于显示代理服务器的安全考虑,不会正确显示此响应。
306–交换机代理
“306-切换代理”代码表示服务器应该为以下请求使用指定的代理。
307–临时重定向
当请求的资源被临时移动到请求的位置头中提到的不同地址时,收到代码“307-临时重定向”。这只是一个临时的重定向,但是下一个请求应该访问原始的URL。BTW,只有HTTP/1.1协议使用这个状态码。
308–永久重定向
A"308–永久重定向”代码是一个实验性代码,用于指示永久重定向(类似于307,它被设置为临时重定向)。307和308代码类似于302和301代码,稍微不同的是没有改变HTTP方法。
4xx客户端错误代码
HTTP代理错误的主要类型是4xx和5xx错误代码。收到来自4xx系列的错误表明问题来自客户端。它可以是您的请求、浏览器或自动化机器人。(www.data5u.com)
400–错误的请求
这是一个普通的响应,表明您发送的请求有问题。有时可能是您的代理服务器或目标网站无法解析您的请求。问题可能是语法不正确、格式无效或欺骗性的请求路由。
401–未经授权
“401-未授权”错误代码表示您正试图访问未经授权的网站,您必须在该网站上进行身份验证。
当web服务器需要身份验证和授权时,代理服务器会返回该错误。提供凭据将允许您访问资源。
402–要求付款
此响应代码主要是为将来使用而设置的。尽管这种状态代码相对较少,也没有标准的约定,但创建这种代码的目的是为了数字支付系统。
403–禁止
403表示您的请求是有效的,并且被代理或web服务器理解,但是拒绝响应。如果您没有查看资源的权限,就会发生这种情况。
404–未找到
当请求的在线资源不可用时,即使请求有效,代理服务器也会返回此代码。尽管404主要被称为“客户端错误”,但它是死链接的结果。这可能意味着URL已被删除、不正确或未经重定向就被更改。
405–不允许的方法
当服务器知道某个请求方法,但该方法已被禁用且无法使用时,会收到405。例如,API请求可能禁止
“删除”资源。两者强制方法GET和HEAD不能被禁用,并且不应返回此错误代码。
406–不可接受
当web服务器在执行服务器驱动的内容协商后没有找到任何符合用户代理给出的标准的内容时,将发送一个响应。
407–需要代理认证
当代理需要身份验证或隧道连接失败时,它会指示407代码。当您的scraper没有通过代理提供者的正确认证或者凭据不准确时,就会发生这种情况。另一个原因可能是没有在代理设置中将您的IP列入白名单。
要解决此错误,您需要通过加入白名单IP来更新您的代理设置,并输入正确的凭据。另外,确保所有需要的信息都包含在请求中。
408–请求超时
当服务器被配置为等待或保持时,如果客户端没有产生请求,则会收到此错误代码。客户端可以重复该请求,而无需在以后的任何时间进行修改。
如果408错误持续存在,请在检测到错误时检查web服务器上创建的负载。另一个可能是连接问题。
409–冲突
409冲突通常与标准的web服务器权限或安全性无关,而是与特定的应用程序有关,HTTP协议本身没有定义冲突。
当将客户端的请求视为合法请求时,web服务器响应此错误,但由于与资源的当前状态冲突,请求无法完成。响应正文通常包含足够的信息,以便用户识别冲突的来源并修复错误。
410–消失
当请求的资源不再通过服务器可用、不再可用并且没有已知的转发地址时,web服务器会用此错误代码进行响应。此错误类似于404错误,但410是一个永久性错误。
411–所需长度
此错误代码意味着服务器拒绝接受没有定义内容长度的请求。客户端应该通过添加有效的content-length头字段来重复请求,该头字段包含请求消息中消息体的长度。
412–前提条件失败
当在服务器上测试时,在一个或多个请求头字段中给定的前提条件被评估为假时,web服务器响应此错误代码。
此状态代码允许客户端在当前资源元信息(头字段数据)上设置前提条件,并防止所请求的方法应用于除最初预期的资源之外的资源。
413–请求实体太大
服务器拒绝处理请求,因为请求实体超过了服务器的处理能力。服务器可以关闭连接,以防止客户端发送更多相同的请求。
“什么构成‘太大’部分取决于所尝试的操作。例如,上传大文件的请求(通过HTTP PUT方法)可能会遇到web服务器设置的上传文件大小限制。(www.data5u.com)
414–请求URL太长
由于请求URL的长度超出了服务器的处理能力,web服务器在拒绝为请求提供服务时会响应此错误。当客户端错误地将“POST”请求转换为“GET”请求时,这种罕见的情况更有可能发生,一旦客户端陷入URL重定向“黑洞”(意味着重定向的URL前缀指向它自己的后缀),或者
当服务器受到客户端攻击,试图利用某些服务器中存在的任何安全漏洞时,也会收到此错误代码,同时使用固定长度的缓冲区来读取和操作请求URL。通常情况下,网络服务器对真正的URL长度设置了相当宽松的限制。如果长URL是有效的,而您仍然收到414错误代码,这意味着web服务器可能需要重新配置,以允许此类URL通过。
415–不支持的媒体类型
web服务器拒绝完成请求,因为请求实体的格式不被请求方法的请求资源支持。
416–请求的范围不可满足
如果请求包含“范围”请求头字段,当服务器的响应通常返回416时,会收到416状态代码。该字段中没有特定于范围的值与所选资源的当前范围重叠,并且请求没有If-Range请求头字段。
例如,如果资源是一个1000字节的文件,而请求的范围是500-1500,那么它就不足以作为一个可接受的范围。
417–预期失败
当在“Expect”请求报头字段中接收的期望不能被服务器满足时,或者如果服务器是代理并且有清楚的证据表明下一跳服务器不能满足请求时,web服务器通常用该状态码来响应。
429–请求太多
当在有限的时间内使用相同的IP地址发送太多请求时,可能会收到此错误。网站通常实施这样的限制,以防止攻击者和避免超载。
使用旋转代理,设置每个IP和每个特定时间帧的请求之间的延迟可以解决这个错误代码。
5xx–服务器错误
当服务器成功接收请求但无法处理请求或在处理请求时遇到问题时,将返回5xx系列。
要解决所有这些5xx错误,请轮换IP,并更改代理网络和IP类型。在这种情况下,使用住宅代理网络更好地轮换IP并确保可靠性。
您可能会收到错误代码,例如
500–内部服务器
当服务器遇到意外情况时,会收到错误代码“500-内部服务器”,从而停止对请求的响应。
501–未实施
当服务器因请求中使用了不受支持或无法识别的方法而无法提供请求的资源时,会收到“501–未实现”错误。
502–错误的网关
当服务器充当网关或代理并从另一台服务器接收到无效响应时,在数据收集过程中会经常出现此错误。
当超级代理拒绝互联网连接或请求发送,IPs的不可用选择的设置被检测为机器人指示502代码。
503–服务不可用
当服务器收到请求的同时其他请求使其过载,或者服务器处于计划停机/维护期间,就会收到“503-服务不可用”代码。在这种情况下,如果可能,请检查所请求服务器的状态。
504–网关超时
当服务器(a)充当外部网关或代理,并且没有从请求链中试图访问以完成请求的下一个服务器(b)及时收到响应时,会收到“504-网关超时”消息。
505–不支持HTTP版本
当服务器不支持HTTP协议版本时,会收到“505–不支持HTTP版本”代码,并在请求消息中使用。
507–空间不足
“507-存储空间不足”意味着服务器磁盘空间不足,无法满足请求。
510–缺少扩展
服务器无法处理该请求,因为请求了不支持的扩展,然后收到代码“510-未扩展”。
解决常见的代理错误代码
解决这些代理错误代码的最简单方法是使用代理管理器。代理管理器通常是一个免费的开源软件,它自动进行代理管理以避免这种错误。为了防止407错误代码,您必须选择一个代理端口。然后,所有关联的凭据和区域信息都会自动更新。
当您应用的规则被触发时,您可以在代理管理器中应用特定的操作。要避免403之类的错误,旋转你的IPs是必不可少的;因此,住宅代理是最好的选择。DATA5U可以通过以下方式发挥作用与代理工具集成为了避免这些错误。了解如何集成DATA5U来配置您的代理设置。
查看我们的GitHub仓库以及更好地理解我们的代理、代码文档和演练的高级用法。
总而言之,解决这些代理错误的基本步骤是:
1.切换到住宅代理
尽管 居住的 委托书 有点贵,它们提供了大量的代理,不像数据中心代理。因此,你可以旋转你的IPs,避免被封锁。
DATA5U是一个更好的住宅代理服务提供商的例子,使用动态P2P + ISP代理网络,提供这两种服务 轮流 & 静态住宅IPs。
2.减少请求的数量
任何网站同时发送太多的请求都是可疑的。在请求之间设置一点延迟,以避免任何错误。(www.data5u.com)
3.改善IP轮换
如上所述,使用代理管理工具有助于完成这项任务。控制您的IP会话,以尽量减少使用相同IP地址的请求。
4.有一台性能良好的铲运机
遵循上述因素,但使用性能不佳的刮刀仍然会给你带来误差。因此,确保你有一个先进的刮刀,以绕过网站实施的障碍。
记住!
克服这些代理错误的第一步是理解错误代码以及为什么会得到这样的代码。在实施这些技术的同时了解这些原因可以让您顺利地执行数据收集,从而最大限度地减少错误。