407 和 403 是什么意思
更新于 阅读约 2 分钟
407 和 403 是第一次连接时最常见的两种提示。它们看起来很像,意思却不同,所以第一个问题永远是:这个回复是谁发的,代理还是网站?
第 1 步:先确认是谁回复的
用 curl -v 发出请求:
curl -v -x "http://USERNAME:PASSWORD@HOST:PORT" https://api.ipify.org
访问 HTTPS 页面时,代理会先打开一条通往网站的加密隧道。隧道打开成功后,你会看到这样一行:
< HTTP/1.1 200 Connection established
出现在这一行之前的回复,是代理发的;出现在这一行之后的回复,是网站发的。
第 2 步(a):如果是 407
407 Proxy Authentication Required 说明是代理自己回复的:它没有收到你的登录信息,或者没有接受。请按顺序检查:
- 用户名和密码与控制台里该代理页面上显示的完全一致,没有多余的空格或换行。
- 如果登录信息写在网址里,密码里的特殊字符要做百分号编码(
@写成%40,:写成%3A)。 - 你的程序确实把登录信息发出去了。有些工具要先收到一次
407才会发送,所以日志里出现一次407,并不说明有问题。 - 你最近没有生成过新密码。旧密码在生成新密码后会立即失效。
更多关于登录的内容:用用户名和密码登录代理。
第 2 步(b):如果是 403
403 Forbidden 可能来自代理,也可能来自网站,处理办法不同。
如果是代理拒绝了你,请在控制台里确认这个代理的状态仍是使用中,并且还有剩余的流量和时间。
如果是网站发的,说明隧道已经打开,代理已经做完了它的工作。是网站在拒绝这个出口地址,或者拒绝这个请求。你可以换一个出口地址、放慢速度,或者让请求更像普通浏览器发出的。如果问题仍在,网站拦截了你的代理时,请告诉我们这些里列出了该发给我们的内容。
如果你用的是 IP 白名单
设成 IP 白名单的代理不接受它的用户名和密码。不管你看到的是这两个代码中的哪一个,都请确认你此刻连接所用的地址在这个代理的白名单里。请看让代理认出你的 IP 地址。
分不清是哪一种?
写信到 support@proxypanda.io,附上 curl -v 的输出。发送之前,请去掉你的密码,并删掉所有包含 Proxy-Authorization 的行,因为这一行以编码形式带着你的登录信息。