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

2024-06-16 10:25:59 发布

您现在位置:Python中文网/ 问答频道 /正文

我正试图连接到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"}


Tags: comapiformathttp密码langdataget
2条回答

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

正如RDA已经注释的那样,您可以使用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)

相关问题 更多 >