fiddler对python脚本抓取https包时发生了错误?( 二 )


■网友
requests默认带有一个根证书,而且verify这个参数也是默认为True。也就是说,当需要证书验证的时候是不需要另外下载证书设置的,requests能满足绝大部分的需求。
fiddler默认是不开启https支持的,需要自行设置。当开启之后,fiddler会安装一个根证书,来满足对https解析的需求。
所以当你运行python requests时,两个证书冲突,就会boomboom 一大堆SSLError。
最简单的解决方法就是将fiddler中 改成 from browsers only。仅仅调试网页用。
还有个方法就是将fiddler中下载的证书在requests中的参数设置。

■网友
@严林首先谢谢你的回答。我已经找到我自己的原因,确实是证书问题。翻看了requests文档总算找到fiddler对python脚本抓取https包时发生了错误?
【fiddler对python脚本抓取https包时发生了错误?】
首先,如果把verify参数设置为False,可以使用,但是会出现警告:D:\\Python\\Python35-32\\lib\\site-packages\\requests\\packages\\urllib3\\connectionpool.py:791: InsecureRequestWarning: Unverified HTTPS request is being made. Adding certificate verification is strongly advised. See: Security: Verified HTTPS with SSL/TLS InsecureRequestWarning)虽然是警告,但是并不会出错。其次我猜想把fiddler抓包的证书传入cert参数连警告都不会有。但具体由于时间关系以后再尝试吧。


推荐阅读