这些天用python代码尝试对https协议的系统写持续集成。post请求如下:
#!/usr.bin/python
# -*- coding: UTF-8 -*-
import requests
result = requests.post('https://host:port/xx/xx/xxxxx’)
print result.text
print result.status_code
执行后,报错信息如下:
requests.exceptions.SSLError: HTTPSConnectionPool(host='host', port=port): Max retries exceeded with url: /xx/xx/xxxxx (Caused by SSLError(SSLError(1, u'[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:661)'),))
试了网上的好多方法,如在requests.post方法里加verify=False等等,都没有解决此问题。
另外,在Postman上对该https协议地址进行请求,报错:Could not get any response There was an error connecting to https://host:port/xx/xx/xxxxx
请大神帮忙解决
通过浏览器或curl命令能正常访问吗?
用浏览器可以正常访问
@希望的天空: curl命令可以正常访问吗?如果curl可以访问,说明openssl没问题
@dudu: 测试环境curl不通,但能telnet通。
@希望的天空: openssl的版本是多少?
@dudu: 服务器端版本号OpenSSL 0.9.8j
@希望的天空: 试试 https://github.com/requests/requests/issues/4246 的解决方法:
uninstalled pyOpenSSL-0.15.1
installed pyOpenSSL-17.2.0 (the latest version)
@dudu: 好,我试试
@dudu: uninstalled pyOpenSSL-0.15.1
installed pyOpenSSL-17.2.0 (the latest version)这些操作是对服务器端操作吗?
@希望的天空: 是运行python程序的电脑
@dudu: 菜鸟一个,不明白。能给说说操作步骤吗
@希望的天空: 电脑是什么系统
@dudu: win7
@希望的天空: 参考 64位win7系统下面安装pyOpenSSL
@dudu: 重新安装了pyOpenSSL,python进行POST请求还是报之前的错
把你post的data传进去啊
现在解决了吗?
最好怎么解决?