600字范文,内容丰富有趣,生活中的好帮手!
600字范文 > requests报错Python request ssl.SSLError: [SSL: WRONG_VERSION_NUMBER] wrong version number (_ssl.c:1108

requests报错Python request ssl.SSLError: [SSL: WRONG_VERSION_NUMBER] wrong version number (_ssl.c:1108

时间:2020-01-08 00:10:09

相关推荐

requests报错Python request ssl.SSLError: [SSL: WRONG_VERSION_NUMBER] wrong version number (_ssl.c:1108

python的requests请求https时,与fiddler冲突造成ssl错误_vzdong1的博客-CSDN博客

记录一下request报错wrong version number (_ssl.c:1108

原因:

解决方案:

把fiddler关掉就好

去掉requests的ssl验证

保持fiddler和requests的证书一致

使用从浏览器导出证书,可以放到代码目录下,走fiddler代理

使用fiddler导出的证书(要用openssl转成pem格式),走fiddler代理

关掉fiddler“启动时作为系统代理”

当开着fiddler时,使用requests发送https请求报错

(Caused by SSLError(SSLCertVerificationError(1, '[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate (_ssl.c:1125)')))

原因:

fiddler默认是启动作为系统代理的,然后requests默认是开启ssl验证的,fiddler配置抓取https时,就会导致两处ssl证书各种问题。

fiddler作为中间人获取了网站的公钥和客户端的密钥,然后伪装成客户端和服务端通信(使用网站公钥和自己的密钥),再伪装成服务端把收到的信息发送给客户端(使用自己的公钥和客户端的密钥)。fiddler的公钥不是ca认证的,所以requests就无法通过内置的ca公钥解密,验证就会失败。所以要不不验证,要不指定和特定的证书进行对比验证,就能解决问题。

需要先了解 https原理

解决方案:

把fiddler关掉就好

去掉requests的ssl验证

使用fiddler代理,去掉requests自带的证书验证,可以正常使用,verify=False。

response=requests.get(url=url, headers=header,proxies=proxies, verify=False) # 不使用requests库自带的ssl证书

保持fiddler和requests的证书一致

使用从浏览器导出证书,可以放到代码目录下,走fiddler代理

certFile = "浏览器.cer"

response=requests.get(url, proxies=proxies, verify=certFile)

使用fiddler导出的证书(要用openssl转成pem格式),走fiddler代理

cer格式证书转pem格式:

openssl x509 -inform der -in apple_pay.cer -out apple_pay_certificate.pem

certFile = ".\FiddlerRoot.pem"

proxies = {'http': 'http://localhost:8888', 'https': 'http://localhost:8888'}

response=requests.post(url, proxies=proxies, verify=certFile) # 使用fiddler导出的证书

通过fiddler捉包requests发出的https时,要保证requests使用的证书和fiddler的相同,否则都会报错。

关掉fiddler“启动时作为系统代理”

把fiddler,tool——connecting下的“启动时作为系统代理”去掉,但是这样要抓取哪个软件的数据包就要在哪个软件设置通过fiddler代理。但是如果通过fiddler代理https,问题依旧,所以一般不建议这样做

————————————————

版权声明:本文为CSDN博主「vzdong1」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。

原文链接:/vzdong1/article/details/113818284

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。