簡體   English   中英

Python-SSLV3_ALERT_HANDSHAKE_FAILURE,這是密碼還是證書問題?

[英]Python - SSLV3_ALERT_HANDSHAKE_FAILURE, is this a cipher or a cert issue?

我正在嘗試通過python請求API執行https網址,但是出現錯誤:

  File "<console>", line 5, in <module>
  File "/usr/lib/python2.7/site-packages/requests/api.py", line 72, in get
    return request('get', url, params=params, **kwargs)
  File "/usr/lib/python2.7/site-packages/requests/api.py", line 58, in request
    return session.request(method=method, url=url, **kwargs)
  File "/usr/lib/python2.7/site-packages/requests/sessions.py", line 513, in request
    resp = self.send(prep, **send_kwargs)
  File "/usr/lib/python2.7/site-packages/requests/sessions.py", line 623, in send
    r = adapter.send(request, **kwargs)
  File "/usr/lib/python2.7/site-packages/requests/adapters.py", line 514, in send
    raise SSLError(e, request=request)
SSLError: [SSL: SSLV3_ALERT_HANDSHAKE_FAILURE] sslv3 alert handshake failure (_ssl.c:579)

我以為這可能是不可信的警告,所以我使用了

requests.packages.urllib3.disable_warnings()

但這沒有用,進一步的搜索表明這可能與密碼有關?

我的代碼如下:

import requests
username="ncm"
password="*****"
headers={'content-type':'application/json'}
response = requests.get('https://10.55.244.2/level/15/exec/-/traceroute/10.50.0.1/source/vlan/5/CR',
                        verify=False,
                        auth=(username, password),
                        headers=headers,
                        timeout=4)

出示的證明 證書信息

經過一些搜索后,我發現使用urlib2可以正常工作,下面的代碼將正常工作

import urllib2, base64
request = urllib2.Request('https://yoururl')
base64string = base64.b64encode('%s:%s' % (username, password))
request.add_header("Authorization", "Basic %s" % base64string)   
result = urllib2.urlopen(request).read()

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM