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

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

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

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


这是什么原因呢?

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


那我们该怎么办呢?

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


这个参数有什么用呢?

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


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

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


思路有了,上代码!

引入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)

如果文章帮助到了您,可否给一个点赞关注收藏呢~

如果遇到编程上的问题,欢迎留言哦~

关注公众号:跟着皮皮实战python

关注公众号回复:aiweb,获取项目源码

了解最新最全的python实战内容

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值