繁体   English   中英

如何连接需要用户名和密码的 API

[英]How to connect with an API that requires username and password

我正在尝试连接到 api,如http://api.instatfootball.com/中所述,它应该类似于以下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

通过实际登录并通过,我得到以下 output:

{"status":"error"}

您需要使用 URL 发出 http 请求。 这将在响应正文中返回请求的数据。 根据 [format] 参数,您将需要将数据从 xml / json 解码为原生 Python6268CFDE63AC1CBD446268CFDE63ACBD45。

正如 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)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM