Fiddler捕获网页traffic的步骤(通过浏览器设置代理)不赘述,在Pycharm中执行接口测试的Python脚本时,如何设置Fiddler代理?
在Pycharm的Settings中有一项HTTP Proxy设置如下,但它是用来给Pycharm安装包时提供连接的,这里的代理设置不会应用于Python代码执行时的请求

另外,Windows系统设置也有使用代理服务器的设置如下,但是经测试,Python代码执行时也不会使用该处定义的代理服务器。

那么代码执行时使用的是哪里的代理?答案是系统环境变量中定义的HTTP_PROXY和HTTPS_PROXY

设置在用户变量和系统变量中都可以。
如何验证是使用了此处定义的代理服务器?在Python代码中调用接口的请求处将Verify设置为True, 将cert设置为None或者错误的文件路径(我的设置在配置文件中,此处代码略),执行脚本即可看到报错信息中包含如下内容,说明的确是找到了环境变量中设置的代理

但是系统的环境变量设置会影响其他也尝试查找该环境变量值的程序,如何把范围缩小到Pycharm中执行的脚本?Pycharm的运行/调试配置提供了定义环境的选项


此处定义的环境变量不会写入系统设置中去,只影响当前运行的脚本。
如果要在命令行执行脚本,打开命令行后执行
set HTTP_PROXY=http://127.0.0.1:8888
set HTTPS_PROXY=http://127.0.0.1:8888
设置也只在当前命令行窗口生效。
4万+

被折叠的 条评论
为什么被折叠?



