根据httplib文档中的示例:
>>> import httplib, urllib
>>> params = urllib.urlencode({'@number': 12524, '@type': 'issue', '@action': 'show'})
>>> headers = {"Content-type": "application/x-www-form-urlencoded",
... "Accept": "text/plain"}
>>> conn = httplib.HTTPConnection("bugs.python.org")
>>> conn.request("POST", "", params, headers)
>>> response = conn.getresponse()
>>> print response.status, response.reason
302 Found
>>> data = response.read()
>>> data
'Redirecting to <a href="http://bugs.python.org/issue12524">http://bugs.python.org/issue12524</a>'
>>> conn.close()我的代码是:
import httplib
import urllib
token = request.POST.get('token')
if token:
params = urllib.urlencode({'apiKey':'[some string]', 'token':token})
connection = httplib.HTTPSConnection('rpxnow.com/api/v2/auth_info')
connection.request('POST', "", params)
response = connection.getresponse()
print response.read()检查我的本地vars yeilds:
连接:“0x8baa4ac的httplib.HTTPSConnection实例”参数:'token=some string&apiKey=some string‘
(我进行此呼叫的说明如下:
使用令牌进行auth_info API调用: URL:https://rpxnow.com/api/v2/auth_info参数:
apiKey一些字符串令牌你上面提取的标记值)
但是我得到了主题行中提到的错误。为什么?
发布于 2011-12-29 06:12:13
您误解了httplib的文档。实例化HTTPSConnection的参数就是主机名。然后将实际路径作为第二个参数传递给request。所以:
connection = httplib.HTTPSConnection('rpxnow.com')
connection.request('POST', '/api/v2/auth_info', params)发布于 2011-12-29 06:05:02
我不知道rpxnow.com是什么,也不熟悉他们的应用程序接口,但这个错误消息表明他们没有一个服务来响应该URL上的请求(即'rpxnow.com/ API /v2/auth_info')。
您是否能够验证他们的服务是否已在该URL上启动并运行?
发布于 2011-12-29 06:10:21
尝试使用以下命令:
http://docs.python-requests.org/en/latest/user/quickstart/#make-a-post-request
import requests
payload = {'apiKey':'somevalue', 'token':'some_token'}
r = requests.post('https://rpxnow.com/api/v2/auth_info', data=payload)
r.contenthttps://stackoverflow.com/questions/8661730
复制相似问题