我尝试使用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引起('无法连接到代理。',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开关,我会得到:
卷曲:(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
但结果是一样的。
关于下一步尝试的任何想法?
答案 0 :(得分:1)
也许尝试以下方法:
import requests
proxies = {
'http': 'http://10.123.123.10:8080',
'https': '10.123.123.10:8080',
}
response = requests.post('https://app.informaticaondemand.com/ma/api/v2/user/login', headers=genheaders, data=data, proxies=proxies)
链接到请求代理文档: http://docs.python-requests.org/en/master/user/advanced/#proxies