gai 错误 /home [Errno -2] 未知的名称或服务
根据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()
检查我的本地变量后得到:
连接: "httplib.HTTPSConnection实例在0x8baa4ac"
参数: 'token=[某个字符串]&apiKey=[某个字符串]'
(我发出的请求是:
使用这个token来调用auth_info API:
网址: https://rpxnow.com/api/v2/auth_info
参数:
apiKey
[某个字符串]
token
你上面提取的token值)
但是我遇到了主题行中提到的错误。为什么会这样?
3 个回答
0
试试这个:
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.content
0
我不知道rpxnow.com是什么,也不太了解他们的API,但这个错误信息说明在那个网址(也就是'rpxnow.com/api/v2/auth_info')没有服务在回应请求。
你能确认一下他们的服务在那个网址是不是正常运行吗?
4
你可能对httplib的文档理解错了。创建HTTPSConnection
时,传入的参数只是主机名。然后你在调用request
时,把实际的路径作为第二个参数传进去。所以:
connection = httplib.HTTPSConnection('rpxnow.com')
connection.request('POST', '/api/v2/auth_info', params)