网页爬取时如何规避SSL证书错误?以requests爬取油价为例
解决requests爬取时的SSL UNSAFE_LEGACY_RENEGOTIATION_DISABLED错误
这个错误的根源是目标服务器采用了旧版SSL协商机制,而现代SSL库默认禁用了这类不安全的协商方式,即便设置verify=False也无法绕过。
解决方法是创建自定义SSL上下文,开启对旧协商机制的支持:
import requests import ssl # 创建自定义SSL上下文,允许旧版协商 ctx = ssl.create_default_context() ctx.options &= ~ssl.OP_NO_UNSAFE_LEGACY_RENEGOTIATION # 携带自定义上下文发送请求 r = requests.get('https://www.goodreturns.in/petrol-price-in-karnataka-s17.html', verify=False, ssl_context=ctx)
注意:这种方式会降低SSL连接的安全性,仅建议在访问信任的目标网站时使用。
内容的提问来源于stack exchange,提问作者Varun G
相关产品推荐
相关产品推荐

