python的requests去除掉ssl的warning

requests访问https网站的时候,如果证书出现问题,会raise出来异常。

其实,做爬虫的,还在乎啥证书,安不安全呗。

一般,会在requests的getorpost方法里面加入:

1
verify=False

形如:

1
resp = requests.post("https://media.jd.com/getAdvcode/1",data=data,verify=False)

不过,这样就意味着requests可能会出现warning。

1
connectionpool.py:730: InsecureRequestWarning: Unverified HTTPS request is being made. Adding certificate verification is strongly advised. See: https://urllib3.readthedocs.org/en/latest/security.html (This warning will only appear once by default.)

warning 是意外的日志数据,多了很讨厌。

利用下面的方法关闭:

1
2
3
4
import requests
from requests.packages.urllib3.exceptions import InsecureRequestWarning
requests.packages.urllib3.disable_warnings(InsecureRequestWarning)

PS:这种情况一般是探测到了中间人攻击。如果使用动态代理,出现类似warning的时候,最好去掉这个代理(他在抓你的https数据)