python学习中遇到的错误

有时候,使用如下脚本去访问网页时

s = request.get('https://www.baidu.com')

会报如下错误

requests.exceptions.SSLError: HTTPSConnectionPool(host='passport.cnblogs.com', port=443): Max retries exceeded with url: /user/signin (Caused by SSLError(SSLError(1, '[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:646)'),))

 解决方法:

1、调用了urllib3.disable_warnings()函数,来确保不会发生警告

from requests.packages import urllib3
urllib3.disable_warnings()

 2、调用logging的captureWarning(True)函数

import logging
logging.captureWarnings(True)

 3、request可以为https请求SSL证书,但SSL证书默认是开启的,如果证书验证失败,就会报出上述错误,我们可以在get()方法中将verify设置为False,requests将忽略对SSL证书的验证

猜你喜欢

转载自www.cnblogs.com/manaizhuang/p/9155341.html