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

如何用Python Selenium隐藏公网IP?代理失效问题求助

解决Selenium代理无法隐藏真实公网IP的问题

问题分析与修复方案

1. 更换代理类型,避免透明代理

透明代理会向目标网站暴露你的真实IP,必须使用匿名代理或高匿代理。如果当前代理是透明类型,立即更换后再测试。

2. 移除现有用户配置的干扰

你代码中指定了user-data-dir和profile-directory,已有的Chrome用户配置可能自带系统代理、旧代理设置,会覆盖seleniumwire的代理配置。建议:

  • 先注释掉这两行,用全新临时配置测试:
    # chrome_options.add_argument("user-data-dir=C:/Users/USER/AppData/Local/Google/Chrome/User Data/Profiles")
    # chrome_options.add_argument(r'--profile-directory='+profilename)
    
  • 若必须用现有配置,先手动在该Chrome配置里关闭系统代理、清除旧代理记录。

3. 完善seleniumwire代理配置

确保同时配置http和https代理,避免部分HTTP请求走本地网络:

options = {
    'proxy': {
        'http': 'http://' + str(i) + '',
        'https': 'https://' + str(i) + '',
        'no_proxy': 'localhost,127.0.0.1,dev_server:8080'
    }
}

如果代理需要账号密码,补充认证信息:

options = {
    'proxy': {
        'http': 'http://用户名:密码@代理地址:端口',
        'https': 'https://用户名:密码@代理地址:端口',
        'no_proxy': 'localhost,127.0.0.1,dev_server:8080'
    }
}

4. 禁用Chrome系统代理自动检测

Chrome可能自动使用系统代理,导致请求绕过你设置的代理,添加以下参数强制关闭:

chrome_options.add_argument('--no-proxy-server')
chrome_options.add_argument('--disable-default-apps')

5. 验证代理全局生效

运行脚本后,通过seleniumwire日志确认所有请求都走了代理:

for request in browser.requests:
    print(request.url, request.proxy)  # 查看每个请求使用的代理地址

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.11 14:47:13