REST使用Python 2.7中的“请求”库进行调用

时间:2016-05-05 12:38:12

标签: python-2.7 rest curl python-requests

我正在尝试使用'request'库执行REST POST调用,而我正在使用python 2.7

发生了什么,不知怎的,调用没有通过python脚本执行,而且我收到HTTPS连接错误,说无法连接到代理。

我已在我的系统中验证过,代理设置没有问题。在相同设置中,我可以使用 POSTMAN客户端& cURL 执行相同的REST 调用。

以下是代码段:(这里'主机名'是私有IP地址,只能在内部访问)

import requests
import json
import pprint
import sys

url = "https://<hostname>/rest/login-sessions"
json_data = {'authLoginDomain':'',
             'password':'abc',
             'userName':'xyz',
             'loginMsgAck':'true'}
reqHeaders = {'Content-type':'application/json',
              'X-Api-Version':'200'}
try:
    reqPost = requests.post(url,data=json_data,headers=reqHeaders,verify = False)
    pprint.pprint(resPost.json())
except requests.exceptions.Timeout:
    print "Re-Try Again"
except requests.exceptions.TooManyRedirects:
    print "Try with a different URL"
except requests.exceptions.RequestException as e:
    print e 
    sys.exit(1)

下面粘贴了错误代码:

HTTPSConnectionPool(host='<hostIP>', port=443): Max retries exceeded with url: /rest/login-sessions (Caused by ProxyError('Cannot connect to proxy.', error('Tunnel connection failed: 503 Service Unavailable',)))

我尝试在网络上找到可用的解决方案,但它们都不适用于我。我很困惑,因为当我试图通过python脚本执行REST调用时,只有它通过cURL&amp;邮差我能做同样的事。

如果我在这里犯了一些错误或者有更好的方法,请建议。

我想只使用python'requests'库来实现。此外,我尝试使用python子进程使用cURL执行它,我也得到了相同的错误。

0 个答案:

没有答案