网上随便检索代理服务器列表,能找到数万条记录,但是实际可用的不到百分之五。很多人卡在起步阶段,不是找不到列表,而是拿到一堆IP端口,不知道核验、整理,也不清楚导入程序或者浏览器使用。下面不按照先概念后步骤的套路,直接按实操顺序梳理。
先说列表来源。免费公开列表获取最简单,GitHub检索free proxy list能找到不少仓库,ProxyScrape、Free-Proxy-List站点每日更新。缺点是列表内大部分IP失效,网速差,协议混杂,HTTP、HTTPS、SOCKS4、SOCKS5混在一起。付费服务商提供的列表质量更高,一般附带API接口,可以按国家、协议、匿名度筛选,获取IP基本直接可用。自建代理,列表就是自己服务器IP端口,数量少,可控性强。

拿到列表不要直接投入使用,统一整理字段。至少保留IP、端口、协议类型、国家、匿名度、最后验证时间。部分列表附带延迟数据,但这个延迟是发布方测出,和本机网络环境存在差异,参考价值有限。对齐字段,删除重复条目,同一个IP端口仅保留一条。Excel或者简单Python脚本就能完成去重,去重很关键,很多列表同一IP会以不同协议重复出现多次。
核验是整理环节耗时最多,但不能省略的步骤。编写Python脚本,借助requests或者httpx访问IP查询接口,例如http://httpbin.org/ip或者https://api.ipify.org。三项判断标准:连接成功、响应时间在可接受范围、返回IP为代理IP,不是本机IP。三项全部满足才算有效代理。核验设置超时,3到5秒合适,超时标记失效。批量核验开启多线程,不然几百条代理会耗费很久。核验完成保存可用代理,存储为CSV或者JSON,方便后续调用。
代理列表不是整理一次就永久可用。免费代理存活时间很短,几小时就失效;付费住宅代理稳定期可达数天至数周。可以定时重新核验,或是代码内部增加动态检测,请求失败自动切换下一个代理。维护本地代理池,记录每次核验结果,使用时随机选取或者按延迟筛选,比临时查询效率更高。
下面讲具体使用方式。浏览器层面,Chrome、Edge不自带独立代理设置,复用系统代理。Windows进入设置 > 网络和Internet > 代理手动填写地址端口。macOS打开系统设置 > 网络 > 当前连接 > 详细信息 > 代理配置。Firefox不一样,自带独立代理配置入口,设置 > 网络设置单独配置,不影响系统其他应用。浏览器频繁切换代理,安装SwitchyOmega扩展,导入整理后的代理列表,一键切换,不用反复修改系统设置。
系统代理配置完成,大部分命令行工具、桌面应用自动走代理。部分程序不识别系统代理,curl、wget这类需要手动指定。curl使用-x http://ip:port,wget配置文件设置use_proxy = on和http_proxy = http://ip:port。Linux终端依靠环境变量export http_proxy=http://ip:port和export https_proxy=http://ip:port,当前终端会话生效,关闭终端失效,适合临时测试。
爬虫、自动化脚本内代理配置和前面不一样。Python requests库请求中添加proxies={'http': 'http://ip:port', 'https': 'http://ip:port'},http与https分开填写。代理需要账号密码认证,账号密码写入URL,http://user:pass@ip:port。Scrapy在middleware中为request.meta['proxy']赋值,同时处理代理失败重试逻辑。Selenium、Playwright浏览器自动化,代理写在浏览器启动参数,Chrome用--proxy-server=ip:port,Playwright在launch参数传入proxy,支持账号密码认证。
移动端代理配置相对简单。安卓WiFi页面长按当前网络,修改网络,代理选项从无改为手动,填写主机、端口。iPhone进入WiFi设置,点网络右侧i图标,下滑配置代理,选择手动填写地址端口。iOS部分应用忽略系统代理,需要单独配置,Shadowrocket这类工具导入代理列表实现分流。
几个常见坑提前说明。HTTPS代理和HTTP代理并不等同,很多免费列表标注HTTPS,实际只支持HTTP,发起HTTPS请求直接报错。SOCKS代理层级更深,可以转发TCP、UDP流量,但配置方式不同,浏览器需要选择SOCKS5而不是HTTP。代理认证失败常见原因是密码包含特殊字符,需要URL编码再填入。还有一点,代理服务器有可能记录流量,免费代理风险高,账号登录、密码输入不要使用免费代理。
整理代理列表,数量不是核心,稳定才重要。能稳定运行一周的代理,远比一百个只能使用一小时的代理更有价值。把核验、维护自动化,定时清理失效条目,补充新代理,精力放在业务本身,不用反复手动测试代理。