树莓派上Selenium-Wire配置代理出现ERR_TIMED_OUT故障求助
排查方案
1. 先验证树莓派到代理的基础连通性
- 直接在树莓派终端用
curl测试代理是否可用,命令如下:
如果curl -x http://username:password@ip:port https://www.inputanywebsite.comcurl也返回超时,说明问题不在Selenium-Wire,而是树莓派到代理的链路故障:- 用
ping ip检查代理IP是否能连通,telnet ip port测试代理端口是否开放; - 排查树莓派本地防火墙规则是否新增了限制,或者公网IP被代理服务商拉黑(其他设备能用不代表树莓派IP在白名单);
- 测试DNS解析是否正常,比如用
nslookup www.inputanywebsite.com看能否正常解析域名。
- 用
2. 检查版本兼容性问题
- 脚本之前正常运行,突然失效大概率是版本更新导致的不兼容:
- 查看当前Chrome版本:
google-chrome --version,再查看Selenium-Wire版本:pip show selenium-wire,对比两者的兼容列表,必要时降级到之前能正常运行的版本; - 确认ChromeDriver版本和Chrome版本严格匹配,用
chromedriver --version查看,不匹配则下载对应版本替换。
- 查看当前Chrome版本:
3. 调整Selenium-Wire的代理配置细节
- 尝试简化代理配置,用
all字段统一设置http/https代理:options = { 'proxy': { 'all': 'http://username:password@ip:port', 'no_proxy': 'localhost,127.0.0.1' } } - 增加连接超时参数,避免默认超时时间过短:
options = { 'proxy': { 'http': 'http://username:password@ip:port', 'https': 'http://username:password@ip:port' }, 'connection_timeout': 30 # 设置为30秒 }
4. 排查系统资源与全局设置
- 用
top命令查看树莓派的CPU、内存占用,若资源不足会导致Chrome加载代理时卡顿超时,关闭不必要的后台进程; - 检查系统全局代理是否冲突,执行
env | grep -i proxy查看环境变量中的代理设置,若有临时取消后再测试脚本。
内容的提问来源于stack exchange,提问作者gunto
相关产品推荐
相关产品推荐

