欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

爬虫之ssh证书警告错误

程序员文章站 2022-03-20 20:27:45
爬虫之ssh证书警告错误 1.错误信息 2.分析 ssh证书是美国网景公司发放的一个安全认证证书,有了这个证书即可证明网站是安全的,但是认证是需要收费的, 所以一些网站就会自己仿造证书,这个时候浏览器就会给予警告,而我们爬虫就爬不到想要的信息 3.解决办法 方法一: 加上一个参数:verify=证书 ......

爬虫之ssh证书警告错误

1.错误信息

错误信息:equests.exceptions.sslerror: ("bad handshake: error([('ssl routines', 'tls_process_server_certificate', 'certificate verify failed')],)",)

2.分析

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)