You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Selenium 4.1代理配置问题:使用Selenium-Wire仍显示原IP

解决Selenium-Wire代理配置不生效问题

以下是针对性的解决思路和修正方案:

1. 修正代理URL格式

代码中代理URL末尾的斜杠可能导致解析异常,先调整URL拼接逻辑:

seleniumwire_options = {
    "proxies": {
        "https": f"http://{user}:{pwd}@{end}",
        "http": f"http://{user}:{pwd}@{end}",
        'verify_ssl': False
    }
}

2. 直接给Firefox配置代理参数

Selenium-Wire的代理有时会和Firefox自身设置冲突,直接为浏览器配置代理更可靠:

firefox_options = Options()
# 分离代理地址和端口
proxy_host, proxy_port = end.split(':')
proxy_port = int(proxy_port)

# 设置代理类型为手动配置
firefox_options.set_preference("network.proxy.type", 1)
# 配置HTTP代理
firefox_options.set_preference("network.proxy.http", proxy_host)
firefox_options.set_preference("network.proxy.http_port", proxy_port)
# 配置HTTPS代理
firefox_options.set_preference("network.proxy.ssl", proxy_host)
firefox_options.set_preference("network.proxy.ssl_port", proxy_port)
# 关闭本地地址绕过(确保所有请求走代理)
firefox_options.set_preference("network.proxy.no_proxies_on", "")
# 设置代理认证信息
firefox_options.set_preference("network.proxy.socks_username", user)
firefox_options.set_preference("network.proxy.socks_password", pwd)

3. 检查依赖版本兼容性

  • 确保Selenium-Wire、Selenium、geckodriver、Firefox的版本相互匹配,版本不兼容会导致代理失效。
  • 尝试更新到最新稳定版:pip install --upgrade selenium selenium-wire,同时下载对应Firefox版本的geckodriver。

4. 排查外部干扰

  • 关闭系统代理、VPN或其他网络工具,避免它们覆盖代码中的代理配置。
  • 先用命令行测试代理可用性,确认代理本身能正常工作:
    curl -x http://jesbeqki:1wbt8dnqtu8w@2.56.119.93:5074 https://httpbin.org/ip
    

修正后的完整代码

from seleniumwire import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.firefox.options import Options
import time


user = 'jesbeqki'
pwd = '1wbt8dnqtu8w'
end = '2.56.119.93:5074'
proxy_host, proxy_port = end.split(':')
proxy_port = int(proxy_port)

firefox_options = Options()
# 配置Firefox代理参数
firefox_options.set_preference("network.proxy.type", 1)
firefox_options.set_preference("network.proxy.http", proxy_host)
firefox_options.set_preference("network.proxy.http_port", proxy_port)
firefox_options.set_preference("network.proxy.ssl", proxy_host)
firefox_options.set_preference("network.proxy.ssl_port", proxy_port)
firefox_options.set_preference("network.proxy.no_proxies_on", "")
firefox_options.set_preference("network.proxy.socks_username", user)
firefox_options.set_preference("network.proxy.socks_password", pwd)

seleniumwire_options = {
    "proxies": {
        "https": f"http://{user}:{pwd}@{end}",
        "http": f"http://{user}:{pwd}@{end}",
        'verify_ssl': False
    }
}

driver = webdriver.Firefox(options=firefox_options, seleniumwire_options=seleniumwire_options)

driver.get('https://httpbin.org/ip')
text = driver.find_element(By.TAG_NAME, 'body').text
print(text)

time.sleep(3)
driver.quit()

内容的提问来源于stack exchange,提问作者Sourav

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.16 04:55:35