代理服务器是一台代替你访问互联网的计算机。你的浏览器或脚本不直接连接网站,而是先连接代理,再由代理连接网站。网站把响应发给代理,代理再转交给你。
这个小小的绕行改变了一件重要的事:网站看到的是代理的 IP 地址,而不是你的。
请求如何经过代理
- 你的程序与代理建立连接,例如
203.0.113.10:8080。 - 告诉代理要访问哪里:
example.com,端口 443。 - 代理自行与
example.com建立连接。 - 数据经由代理双向传输,直到任意一方关闭连接。
访问 HTTPS 网站时,内容全程保持加密。代理知道你访问的是哪个主机,但无法读取加密隧道中的页面、密码和 Cookie。
网站能看到什么
- IP 地址:代理的出口 IP,它也决定了你“所在”的国家。
- 请求头:浏览器发送的内容,加上代理额外添加的内容。有些代理会添加带有你真实 IP 的
X-Forwarded-For,有些则什么都不加。这正是匿名等级要讨论的问题。 - 延迟:经过远方代理的请求耗时更长,因此我们在免费代理列表中为每个代理标注了实测速度。
代理的主要类型
按协议:
- HTTP 代理:理解网页请求,在浏览器和爬虫中使用最方便。
- SOCKS4 和 SOCKS5 代理:转发任意 TCP 连接而不查看内容。SOCKS5 还支持 UDP 和认证。详细对比见 HTTP 与 SOCKS5 的区别。
按 IP 来源:
- 数据中心代理:运行在托管公司的服务器上,速度快、价格低,但网站很容易识别。
- 住宅代理:使用家庭宽带的 IP,看起来像普通访客。
- 移动代理:通过蜂窝网络转发流量,一个 IP 由成千上万的真实用户共享。
按访问方式:
- 公开(免费)代理:任何人都可以使用,我们的列表就由这类服务器组成。
- 私人代理:由单个客户租用,并用用户名和密码保护。
代理的用途
- 以其他国家用户的视角查看网站:价格、搜索结果、广告和可用内容。
- 大规模采集公开数据,而不受单个 IP 的限制。
- 从外部测试自己的网站、地域定向和防火墙。
- 对访问的网站隐藏你的家庭 IP。
- 访问在你所在网络中被屏蔽的资源。
代理与 VPN
VPN 加密设备的全部流量并通过一台服务器发送。代理按应用工作:你在浏览器或脚本中配置它,只有这部分流量经过代理。代理更灵活,一个爬虫可以同时使用数百个代理;而 VPN 更适合保护整台设备。
免费代理安全吗?
公开代理是陌生人的服务器,应视为不可信:只访问 HTTPS 网站,不要通过它发送密码或支付信息,并随时准备它消失。重要任务请使用可信服务商的私人代理。
如何开始
打开免费代理列表,按协议和国家筛选,选择几秒前刚检测过的代理。如何使用代理一文给出了浏览器、curl 和 Python 的具体设置方法。