警告InsecureRequestWarning: unverified HTTPS request is being made to host
下载数据的时候经常会遇到这个警告,虽然不影响使用,但看起来也很糟心,特别是你的console控制台出现一大堆英文提示覆盖了有效的信息时,本人决定到官方所给的网站去探寻一番。
官方的说明如下
PoolManager 这个类为每一个 Post 自动创建处理ConnectionPool 实例,默认最大的ConnectionPool 为10个,如果你有很多的请求,你需要去增加 Post 的数量,如下。
>>> import urllib3
>>> http = urllib3.PoolManager(num_pools=50)
urlib3 基于证书验证的级别出发不同的警告,比如说 InsecureRequestWarning ,没有验证的时候回出现这个警告。当然,未经验证的HTTPS URL时不被提倡的,如果你想强制取消警告,你可以使用 “disable_warnigns():”
>>> import urllib3
>>> urllib3.disable_warnings()
同样你也可以捕捉这个警告
>>> logging.captureWarnings(True)
如果你有证书,你可以创建PoolManager
>>> import certifi
>>> import urllib3
>>> http = urllib3.PoolManager(
... cert_reqs='CERT_REQUIRED',
... ca_certs=certifi.where()
... )
PoolManager 会自动地处理证书验证,并且验证失败时会出现SSL错误提示。
>>> http.request('GET', 'https://google.com')
(No exception)
>>> http.request('GET', 'https://expired.badssl.com')
urllib3.exceptions.SSLError ...