<返回更多

您与这个网站的连接不安全?教你用python轻松解决

2022-03-29    跟着皮皮实战python
加入收藏

相信有很多小伙伴在写爬虫或者调用API时,遇到过这样的问题:

您与这个网站的连接不安全?教你用python轻松解决

 

然后请求返回的结果是这样的:

您与这个网站的连接不安全?教你用python轻松解决

 

这时候不管怎么修改header,问题都无法得到解决。


这是什么原因呢?

是因为该网站采用了https协议却没有SSL证书或者该证书过期了


那我们该怎么办呢?

我们在通过urllib包的request.urlopen发送请求时,一直忽略了一个我们不常用到的小参数——context


这个参数有什么用呢?

首先我们打开官方文档可以看到该参数作用就是用于描述各类SSL参数

您与这个网站的连接不安全?教你用python轻松解决

 


那我们该给这个参数填什么值来解决问题呢?

继续打开上图中提到的HTTPSConnection相关文档,我们可以清楚的看到在3.4.3版本时,就可以通过将
ssl._create_unverified_context() 传递给context 参数来实现非验证行为

您与这个网站的连接不安全?教你用python轻松解决

 


思路有了,上代码!

引入ssl包,创建
_create_unverified_context()对象,轻松解决!

from urllib import request,parse
import ssl
import json


url = ""


context = ssl._create_unverified_context()
req = request.Request(url)
res = request.urlopen(req,context=context)
声明:本站部分内容来自互联网,如有版权侵犯或其他问题请与我们联系,我们将立即删除或处理。
▍相关推荐
更多资讯 >>>