【发布时间】:2016-10-19 17:12:35
【问题描述】:
我正在尝试使用 Python (3.51) 请求使用 Informatica Cloud REST API(请求包版本为 2.10.0):
import requests
username='myuser'
password='mypassword'
genheaders = {
'Content-Type': 'application/json',
}
data = '{"@type":"login","username":"' + username + '","password":"' + password +'"}'
response = requests.post('https://app.informaticaondemand.com/ma/api/v2/user/login', headers=genheaders, data=data)
在我的本地机器上,一切都很好。但是,在我的 TEST 服务器上,我收到以下错误:
HTTPSConnectionPool(host='app.informaticaondemand.com', port=443):最大重试次数超出了 url:/ma/api/v2/user/login(由 ProxyError('Cannot connect to proxy.', NewConnectionError (': 建立新连接失败: [WinError 10060] 连接尝试失败,因为连接方一段时间后没有正确响应,或者连接失败,因为连接的主机没有响应',))
令人讨厌的是,curl 在服务器机器上运行良好:
curl -H "Content -Type: application/json" -X POST --data @Login.txt https://app.informaticaondemand.com/ma/api/v2/user/login -k
login.txt 所在的位置:
{ "@type": "login","username":"myuser", "password":"mypassword"}
如果我不使用 -k 开关,我会得到:
curl: (60) SSL 证书问题,验证 CA 证书是否正常。详细信息:错误:14090086:SSLroutines:SSL3_GET_SERVER_CERTIFICATE:证书验证失败 更多细节在这里:http://curl.haxx.se/docs/sslcerts.html
使用 -k 开关一切正常。
在执行 Python.exe 之前,我尝试通过环境变量设置代理:
set HTTP_PROXY=10.123.123.10:8080
set HTTPS_PROXY=10.123.123.10:8080
但结果是一样的。
对接下来要尝试什么有什么想法吗?
【问题讨论】:
标签: python proxy python-requests