如何解决如何连接需要用户名和密码的API
我正尝试按照http://api.instatfootball.com/中的说明连接到api,它应该类似于以下的get /[lang]/data/[action].[format]?login=[login]&pass=[pass]
。我知道我需要使用的[lang],[action]和[format],并且我也具有登录名和密码,但是不知道如何访问API内的信息。
如果我编写以下代码:
import requests
r = requests.get('http://api.instatfootball.com/en/data/stat_params_players.json',auth=('login','pass'))
r.text
实际登录并通过后,我得到以下输出:
{"status":"error"}
解决方法
您将需要使用URL进行http请求。这将在响应正文中返回请求的数据。根据[format]参数,您需要将数据从xml / json解码到本地Python对象。
如rdas所述,您可以将请求库用于python(https://requests.readthedocs.io/en/master/)。您还将在那里找到一些代码示例。还将正确解码JSON数据。
如果您想稍微使用一下API,可以使用Postman之类的工具来测试和调试您的请求。 (https://www.postman.com/)
,此API要求通过不安全的连接将身份验证作为参数,因此请注意,API部分高度缺少此功能。
import requests
username = 'login'
password = 'password'
base_url = 'http://api.instatfootball.com/en/data/{endpoint}.json'
r = requests.get(base_url.format(endpoint='stat_params_players'),params={'login': username,'pass': password})
data = r.json()
print(r.status_code)
print(r.text)
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。