Selenium代理连接失败问题求助
Selenium代理连接失败问题求助
问题描述
我最近几次尝试用代理配置Selenium连接,但一直失败。我的代码如下:
from selenium import webdriver import time from selenium.webdriver.chrome.options import Options ################# proxy = "219.65.73.81:80" opt=Options() opt.add_argument(f"--proxy-server={proxy}") driver= webdriver.Chrome(opt) driver.get('https://whatismyipaddress.com/') time.sleep(30)
运行后浏览器页面显示:
This page isn’t working
whatismyipaddress.com didn’t send any data.
ERR_EMPTY_RESPONSE
请问该怎么解决这个问题呢?
可能的解决方案
我遇到过类似的问题,给你几个实用的排查方向:
- 先验证代理有效性:你当前用的代理
219.65.73.81:80大概率已经失效,或者不支持HTTPS请求。可以先手动在浏览器里配置这个代理,看看能不能正常打开目标网站,如果不行就换一个可用的代理试试。 - 明确代理协议类型:很多代理需要指定协议才能正常工作,比如HTTP代理要加上
http://前缀,HTTPS代理加上https://前缀,修改后的参数应该是:opt.add_argument(f"--proxy-server=http://{proxy}") - 添加Chrome兼容配置:Chrome的安全策略有时候会拦截代理请求,试试加上这些参数来规避:
opt.add_argument('--ignore-certificate-errors') opt.add_argument('--disable-blink-features=AutomationControlled') opt.add_argument('--no-sandbox') - 检查本地网络限制:看看你的本地网络有没有防火墙、VPN或者安全软件拦截了代理请求,可以先关闭这类软件再测试,或者直接不用代理访问目标网站,确认网络本身是正常的。
- 处理代理认证(如果需要):如果这个代理需要用户名和密码,你还得额外配置认证信息——Chrome现在需要借助扩展来处理代理认证,或者可以使用
selenium-wire这类第三方库来更方便地配置带认证的代理。
备注:内容来源于stack exchange,提问作者Saad Latheef
相关产品推荐
相关产品推荐

