我正在使用代理(在公司防火墙后面)登录到https域.SSL握手似乎进展不顺利:
CertificateError: hostname 'ats.finra.org:443' doesn't match 'ats.finra.org'
Run Code Online (Sandbox Code Playgroud)
我正在使用Python 2.7.9 - Mechanize,我已经通过了所有的登录,密码,安全问题屏幕,但它正在挂起认证.
任何帮助都会很棒.我试过在这里找到的monkeywrench:强制Mechanize使用SSLv3
但是对我的代码不起作用.
如果你想要我愿意发送的代码文件.
我正在使用Requests连接到RESTful API.我想要达到的服务器使用自带证书的ssl.
cafile = "gateway.pem"
r = requests.get(request, auth=('admin', 'password'), verify=cafile)
Run Code Online (Sandbox Code Playgroud)
问题是我得到主机名不匹配的SSLError.应该有一种方法来禁用主机名检查而不禁用证书验证,就像在许多java实现中一样,但我无法找到如何在python中处理请求.
堆栈跟踪:
Traceback (most recent call last):
File "<pyshell#43>", line 1, in <module>
r = requests.get(request, auth=("admin", "password"), verify='gateway.pem')
File "C:\Python27\lib\site-packages\requests-2.0.0-py2.7.egg\requests\api.py", line 55, in get
return request('get', url, **kwargs)
File "C:\Python27\lib\site-packages\requests-2.0.0-py2.7.egg\requests\api.py", line 44, in request
return session.request(method=method, url=url, **kwargs)
File "C:\Python27\lib\site-packages\requests-2.0.0-py2.7.egg\requests\sessions.py", line 357, in request
resp = self.send(prep, **send_kwargs)
File "C:\Python27\lib\site-packages\requests-2.0.0-py2.7.egg\requests\sessions.py", line 460, in send
r = adapter.send(request, **kwargs)
File "C:\Python27\lib\site-packages\requests-2.0.0-py2.7.egg\requests\adapters.py", line 358, in send
raise SSLError(e)
SSLError: hostname …Run Code Online (Sandbox Code Playgroud)