下载安卓APP箭头
箭头给我发消息

客服QQ:3315713922

爬虫之ssh证书警告错误

作者:课课家教育     来源: http://www.kokojia.com点击数:1220发布时间: 2019-09-23 14:39:38

标签: python教程python数据库操作python培训

大神带你学编程,欢迎选课

ssh证书警告错误">爬虫之ssh证书警告错误

1.错误信息

SSH是什么?SSH是安全外壳协议,或SSH是一个加密协议,主要用于保护远程命令行界面的外壳访问。因此,这就是我为那些不知道SSH的人所编写的、对安全外壳。

 ssh证书 安卓微信打开网站一片空白是什么问题?怎么解决?天兴工作室的一个用户跟我们反映关注天兴工作室的微信公众号后打开任何链接都是空白。

这种问题是由于公钥不一样了,所以无法登录,提示信息是 KEY 验证失败。 解决方法是: 在/root/.ssh/known_hosts 文件里面将原来的公钥信息删除即可。

错误信息:equests.exceptions.SSLError: ("bad handshake: Error([('SSL routines', 'tls_process_server_certificate', 'certificate verify failed')],)",)

2.分析

这种问题是由于公钥不一样了,所以无法登录,提示信息是 KEY 验证失败。 解决方法是: 在/root/.ssh/known_hosts 文件里面将原来的公钥信息删除即可。

ssh证书是美国网景公司发放的一个安全认证证书,有了这个证书即可证明网站是安全的,但是认证是需要收费的,

所以一些网站就会自己仿造证书,这个时候浏览器就会给予警告,而我们爬虫就爬不到想要的信息

3.解决办法

  • 方法一:
    加上一个参数:verify=证书路径,或verify=False

    如:

    import request
    url = 'xxxxx'
    req = requests.get(url,verify=False)
    print(req.text)
  • 方法二:

    ssl._create_default_httPS_context ``= ssl._create_unverified_context``#注意用了这个就不能用requests了,得用urllib2.Request

    python2中

  # 方法二(推荐):
  import ssl
import urllib2
  
  ssl._create_default_https_context =ssl._create_unverified_context
  req =urllib2.Request('xxxx')
  data =urllib2.urlopen(req).read()
  print(data)

python3中

import ssl
import urllib.request
ssl._create_default_https_context =ssl._create_unverified_context
data =urllib.request.urlopen('xxxx').read()
print(data)

使用证书来管理连接至少有如下两个好处安全,目前生成证书的方式不管是RSA还是DSA无论从位数上还是加密方式上都比自己生成的密码安全许多。
赞(0)
踩(0)
分享到:
华为认证网络工程师 HCIE直播课视频教程