腾讯云代理,腾讯云代理商,腾讯云合作伙伴,腾讯云直播代理

腾讯云代理优惠购买流程

优惠第一步 点击https://partners.cloud.tencent.com/ 确定成为海平线科技腾讯云客户。
优惠第二步 联系在线客服索取优惠后的价格,并用刚才申请或者关联好的腾讯云官网账号提交优惠订单。
优惠产品 腾讯云服务器,云数据库,大禹高防,对象存储,视频直播,点播,等全部腾讯云产品。
优惠说明 同时参与腾讯云官方优惠:包年包月预付费1年83折,3年5折,相当于折上折,联系客服有惊喜。
腾讯云促销活动 热卖云产品3折起,腾讯云秒杀活动进行中,新用户1核心1G 99元一年。
联系方式 电话:4008036055 企业QQ:800850055

Python关于SSL验证问题

发表者:腾讯云代理 分类:腾讯云优惠活动 发表于:2019-11-26 17:03:13 阅读[46]

腾讯云代理站是海平线科技旗下网站,海平线是腾讯云合作伙伴,成立于2013年

问:为什么要写这个文章?

答:因为有一些用户在某些机器运行SDK或者自己拼包等发生了SSL验证的问题,为了解决大家的这个问题,总结本文。

Urllib部分

解决方法1:

使用ssl创建未经验证的上下文,在urlopen中传入上下文参数

import ssl
import urllib2
  
context = ssl._create_unverified_context()
print urllib2.urlopen("https://cvm.tencentcloudapi.com/", context=context).read()

解决方法2:

导入ssl时关闭证书验证

import ssl
import urllib2
  
ssl._create_default_https_context = ssl._create_unverified_context
print urllib2.urlopen("https://cvm.tencentcloudapi.com/").read()

python3的话,适当修改一下urllib就可以了。


requests部分

解决方法1:

通过 verify 指定证书,表示相信此证书;也可以用 verify=False,表示不验证服务器端的证书。

#!/bin/env python
import requests
url = "https://cvm.tencentcloudapi.com"
ret = requests.get(url, verify="/Test/ssl_address/api.com.crt")
print ret.status_code

解决方法2:

设置环境变量 REQUESTS_CA_BUNDLE:

export REQUESTS_CA_BUNDLE=/tmp/ssl/api.com.crt

然后使用 request 访问。

#!/bin/env python
import requests
url = "https://cvm.tencentcloudapi.com"
ret = requests.get(url)
print ret.status_code

Scrapy部分

解决方法:

pip uninstall scrapy
pip uninstall pyopenssl
pip install pyopenssl
pip install scrapy

原文链接:https://cloud.tencent.com/act/cps/redirect?redirect=31&cps_key=bbfaa7a513a5ca9af78b106fbd9f2bff&from=console

©2013-2019 腾讯云代理 粤ICP备15015370号