一、代理格式写错导致连接失败
新手最容易踩的坑就是代理地址格式错误。Python中设置代理的正确格式应该是:{"http": "http://用户名:密码@IP:端口", "https": "http://用户名:密码@IP:端口"}。很多开发者会忘记协议头(http://)或者密码中的特殊符号未转义(例如@符号要改成%40)。
天启代理的API接口直接生成的就是标准格式的代理地址,支持账号密码授权和终端IP授权两种模式,复制到代码中无需二次加工。如果遇到特殊符号问题,建议使用他们的终端IP授权模式,省去账号密码验证环节。
二、代理协议与请求类型不匹配
HTTP和HTTPS代理不能混用,比如用http://开头的代理访问https网站必定失败。建议统一使用天启代理的SOCKS5协议,该协议同时兼容HTTP和HTTPS请求。测试时可先用curl命令验证:
curl -x socks5://IP:端口 -L 目标网址
如果必须使用HTTP协议,天启代理的智能协议适配技术会自动识别请求类型,避免出现协议不匹配导致的连接中断。
三、代理IP已失效或触发封禁
动态IP的有效期通常只有几分钟,静态IP也可能因目标网站反爬策略失效。建议在代码中加入异常重试机制:
import requests
from urllib3.util.retry import Retry
retries = Retry(total=3, backoff_factor=1)
adapter = requests.adapters.HTTPAdapter(max_retries=retries)
session = requests.Session()
session.mount('http://', adapter)
天启代理的IP可用率≥99%,配合他们的24小时自动去重功能,可实时过滤失效IP。自建机房的纯净IP资源,比公共代理池更少触发网站封禁机制。
四、本地网络环境限制
部分企业内网会拦截代理请求,表现为设置代理后完全无法连接。可通过以下方法排查:
1. 关闭防火墙和杀毒软件测试
2. 在服务器环境运行代码
3. 使用天启代理的API白名单功能,将服务器IP加入授权列表
五、代码逻辑覆盖不完整
常见错误包括:
• 只在requests.get()中设置代理,但未配置Session对象
• 异步请求未正确传递代理参数
• 使用selenium时浏览器未加载代理配置
推荐使用天启代理的终端授权模式,直接在系统环境变量设置全局代理,避免代码层面的配置遗漏:
import os os.environ['http_proxy'] = 'http://IP:端口' os.environ['https_proxy'] = 'http://IP:端口'
常见问题QA
Q:怎么验证代理是否生效?
A:访问http://httpbin.org/ip,对比返回IP与真实IP。天启代理提供IP存活检测接口,可直接获取当前生效的代理IP。
Q:高并发场景下代理不稳定怎么办?
A:天启代理的分布式集群架构支持每秒万级并发请求,配合他们的连接池管理方案可自动维持长连接,降低TCP握手开销。
Q:需要频繁更换代理IP吗?
A:天启代理的动态IP套餐默认3分钟自动更换IP,静态IP套餐支持1-24小时自定义有效期。建议根据目标网站的封禁策略选择合适的IP类型。


