很多人买完住宅IP,配置半天还是报错、被封。本文手把手教你用Python正确接入住宅代理,附代码和常见问题解决。
一、为什么你的代理配置总失败?
常见的几种错误:
-
协议用错:服务商给的SOCKS5,你却按HTTP方式配
-
认证方式不对:账密认证和API白名单混用
-
请求头太简陋:只用UA,缺少Accept-Language等
下面直接上正确代码。
二、HTTP/HTTPS代理配置(账密认证)
大多数住宅IP服务商支持账密认证,代码最通用:
import requests
proxy = "http://用户名:密码@服务器地址:端口"
proxies = {
"http": proxy,
"https": proxy
}
headers = {
"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36",
"Accept-Language": "en-US,en;q=0.9"
}
try:
resp = requests.get("https://httpbin.org/ip", proxies=proxies, headers=headers, timeout=10)
print(resp.json())
except Exception as e:
print(f"代理失败: {e}")
注意:用户名密码中如有特殊字符需URL编码。
三、SOCKS5代理配置
需要安装requests[socks]:
pip install requests[socks]
代码:
import requests
proxy = "socks5://用户名:密码@服务器地址:端口"
proxies = {
"http": proxy,
"https": proxy
}
# 其余同上
如果不需要认证,去掉用户名:密码@部分。
四、API白名单模式(无需账密)
部分服务商支持将你的服务器IP加入白名单,之后直接通过API链接提取IP。
import requests
# 直接请求API链接获取IP列表
api_url = "http://api.xxx.com/extract?num=1&country=US"
resp = requests.get(api_url)
ip_list = resp.text.split()
proxy = ip_list[0] # 格式 ip:port
# 然后使用这个proxy发起采集请求
proxies = {"http": f"http://{proxy}", "https": f"http://{proxy}"}
这种方式适合自动化脚本,无需每次都传账密。
五、常见问题排查
- 返回403或超时?
-
检查代理地址和端口是否正确
-
确认服务商是否限制来源IP(白名单模式需要加白)
-
目标网站是否屏蔽该代理IP段
- HTTPS请求报SSL错误?
-
尝试
verify=False(不推荐长期用) -
或升级
certifi包
- 代理慢或频繁掉线?
-
换一个节点试试
-
降低请求频率,加随机延时
-
选择连通率高的服务商(如承诺99.9%的)
六、实用小工具
测试代理是否生效:访问 http://httpbin.org/ip\ 或 https://ipinfo.io/ip\
批量验证可用性:写个循环,连续请求20次统计成功率。
七、最后建议
-
先试用再付费:大多数服务商提供免费流量,测稳定性和速度。
-
按场景选类型:店铺管理用静态IP,数据采集用动态IP。
-
注意请求头完整性:补全UA、Accept-Language等,降低被识别概率。
如果用的是辣椒HTTP,其动态住宅5元/GB起,静态9.9元/7天,新用户有最高50G试用,配置方式和上面代码完全一致。代理地址、端口、账密在后台可查。
希望这篇文章能帮你少踩坑。有问题欢迎评论区交流。