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

如何捕获Visual Studio Code中Python代码的HTTP(S)请求

捕获Visual Studio Code中Python代码的HTTP(S)流量(Fiddler无效的解决办法)

核心原因:Python默认不自动走系统代理

Python的HTTP请求库(如requests、urllib)默认不会继承系统代理配置,而Fiddler依赖代理拦截流量,这是抓不到包的主要原因。以下是针对性解决步骤:

1. 手动为Python请求配置Fiddler代理

根据你使用的HTTP库,直接指定Fiddler的代理地址(默认是127.0.0.1:8888):

  • requests库:
    单个请求设置代理:

    import requests
    
    proxies = {
        'http': 'http://127.0.0.1:8888',
        'https': 'http://127.0.0.1:8888'
    }
    resp = requests.get('https://target-url.com', proxies=proxies)
    

    全局设置代理(所有请求自动生效):

    import os
    os.environ['HTTP_PROXY'] = 'http://127.0.0.1:8888'
    os.environ['HTTPS_PROXY'] = 'http://127.0.0.1:8888'
    
    # 后续的requests请求都会走Fiddler代理
    import requests
    resp = requests.get('https://target-url.com')
    
  • urllib库:

    from urllib.request import ProxyHandler, build_opener, install_opener
    
    # 配置代理处理器
    proxy_handler = ProxyHandler({
        'http': 'http://127.0.0.1:8888',
        'https': 'http://127.0.0.1:8888'
    })
    opener = build_opener(proxy_handler)
    install_opener(opener)
    
    # 发送请求
    from urllib.request import urlopen
    resp = urlopen('https://target-url.com')
    

2. 解决HTTPS证书验证问题

Fiddler解密HTTPS流量需要根证书被Python信任,否则请求会直接失败或绕过代理:

  • 导出Fiddler根证书:打开Fiddler → Tools > Options > HTTPS → Actions > Export Root Certificate to Desktop
  • 信任证书的两种方式:
    1. 测试环境临时方案:禁用证书验证(仅限调试用,不要在生产环境使用)
      • requests库:添加verify=False参数
        resp = requests.get('https://target-url.com', proxies=proxies, verify=False)
        
      • urllib库:取消SSL验证
        import ssl
        ssl._create_default_https_context = ssl._create_unverified_context
        
    2. 长期方案:将导出的证书安装到Python的信任证书目录,或者通过REQUESTS_CA_BUNDLE环境变量指定证书路径。

3. 检查VS Code终端的代理配置

VS Code的集成终端可能没有继承系统代理,手动在终端设置环境变量后再运行脚本:

# Windows CMD
set HTTP_PROXY=http://127.0.0.1:8888
set HTTPS_PROXY=http://127.0.0.1:8888

# PowerShell
$env:HTTP_PROXY = "http://127.0.0.1:8888"
$env:HTTPS_PROXY = "http://127.0.0.1:8888"

4. 确认Fiddler的捕获规则

  • 确保Fiddler开启了HTTPS捕获:Tools > Options > HTTPS,勾选Capture HTTPS CONNECTs和Decrypt HTTPS traffic
  • 检查过滤规则:打开Fiddler的Filters标签,确认没有设置排除Python进程(PID)或特定域名的规则,避免流量被过滤掉。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.01 02:56:20