不开启fiddler能够正常发送request.get()或post()等请求。开启后无法使用requests请求。

解决方法如下:

        假设初始代码为:

response = requests.post(url=url, data=data, headers=headers)

        想要在fiddler开启时进行抓包,可将代码修改为:

response = requests.post(url=url, data=data, headers=headers, verify=False, proxies={
     'http': '127.0.0.1:8888',
     'https': '127.0.0.1:8888',
 })

        其中127.0.0.1:8888是本机fiddler的端口地址,请根据不同情况设定。

        如果不想忽略证书警告,请找到本机已经安装好的fiddler证书导出,在设置中搜索,如图。

        通过搜索fiddler证书会出现很多证书,请选择下图的fiddler证书,如图。

        右键导出,不选择私钥,base64编码就行,然后指定导出的文件名以及存放目录,优先存放英文目录。

        导出以后找到自己的证书目录,复制文件地址,并将verify属性替换为你的证书地址即可。

cer = '/存放地址/证书名字'
response = requests.post(url=url, data=data, headers=headers, verify=cer, proxies={
     'http': '127.0.0.1:8888',
     'https': '127.0.0.1:8888',
 })

        配置完成后即可通过fiddler正常抓包py请求。

Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐