创建经过身份验证的Python API调用
我是一个有点,很好的人!,不知道如何使用Python进行API调用。我已经做了一些成功的试用,但现在我正试图建立一个应用程序,我迷路了。下面的说明是我所能得到的全部。我不确定如何超越我的代码创建经过身份验证的Python API调用,python,json,Python,Json,我是一个有点,很好的人!,不知道如何使用Python进行API调用。我已经做了一些成功的试用,但现在我正试图建立一个应用程序,我迷路了。下面的说明是我所能得到的全部。我不确定如何超越我的代码 MHL = urlopen('http://new.mhl.nsw.gov.au/services/mhladas/getAccessKey.json.php') 然后要求输入用户名等 eg {u'access_key': None, u'error': u'No username has been en
MHL = urlopen('http://new.mhl.nsw.gov.au/services/mhladas/getAccessKey.json.php')
然后要求输入用户名等
eg {u'access_key': None, u'error': u'No username has been entered'}
如何将我的详细信息发送回他们的服务器进行身份验证?然后请求返回了我想要的数据吗?很高兴被引导到一个教程或任何帮助是真正感谢。不理解如何将指令转换为相关的Python代码
4.1登录-请求访问密钥
您需要发出登录请求才能开始使用该服务。此登录提供
您可以使用有限的时间访问密钥。您需要为任何用户提供此密钥
您随后提出的请求
http://new.mhl.nsw.gov.au/services/mhladas/getAccessKey.json.php
请求
{“用户名”:user@myserver.com,“密码”:“abc123”}
示例响应
{“访问密钥”:“MjAxMy0wNS0x…”,“错误”:null}
4.2获取站点列表
使用此功能列出您可以使用的电台。
要求
{“用户名”:test@mhl.nsw.gov.au,“访问密钥”:“MjAxMy0wNS0x…”
您在问题中提供的信息不清楚。我假设您必须使用用户名和密码参数发布请求。首先,使用python请求可以轻松地完成这些事情<代码>pip安装请求。那就试试这个
payload = {'username': 'user@myserver.com', 'password': 'abc123'}
r = requests.post("http://new.mhl.nsw.gov.au/services/mhladas/getAccessKey.json.php", data = payload)
print r
要使用
urllib
发表文章,您需要使用urlencode
对数据进行编码,并将其作为参数传递给urlopen
import urllib
data = urllib.urlencode({"username":"buddy","password":"inches"})
post = urllib.urlopen('http://new.mhl.nsw.gov.au/services/mhladas/getStationList.json.php', data)
print post.code
print post.read()
另一种方法是使用Sar009建议的
requests
,我得到一个200返回值,使用requests代码很好,但是它说我应该得到这样的响应{“access_key”:“MjAxMy0wNS0x…”,“error”:null}其中包括一个API密钥,我需要在所有其他请求(如{“username”)中使用该密钥:test@mhl.nsw.gov.au,“访问密钥”:“MjAxMy0wNS0x…”如果我发布用户ID和密码,我不确定还需要什么。不管我做什么,我似乎都拿不到那把钥匙。