如何用Python验证和访问特定API

2024-06-25 06:22:33 发布

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

我正在尝试用Python访问API,但到目前为止,我得到的最好结果是401响应(我没有经过身份验证)。你知道吗

这是API:
https://opendata-api.stib-mivb.be/Files/1.0/Gtfs

这是我用来获取401响应的代码:

import requests
response = requests.get("https://opendata-api.stib-mivb.be/Files/1.0/Gtfs")
print (response.status_code)

我试图理解他们给出的代码示例,但无法理解:

curl-k-X GET--header“接受:应用程序/zip”--header“授权:承载b2ba6c7a35d667564ffa2765aec6ea07”-o/gtfs.zip文件“https://opendata-api.stib-mivb.be/Files/1.0/Gtfs

如何识别与消费者的关键,消费者的秘密,访问令牌我收到(他们不给访问令牌的秘密)与Tweepy你也应该使用访问令牌的秘密。。。例如:

auth = tweepy.OAuthHandler(consumer_key, consumer_secret)
auth.set_access_token(access_token, access_token_secret)

所以我被困住了。。。你知道吗

有什么帮助吗?你知道吗

谢谢


Tags: 代码httpstokenapiaccessresponsefilesbe
1条回答
网友
1楼 · 发布于 2024-06-25 06:22:33

这里的访问方法是bearer token。你会得到一个你保密的令牌,当你提出请求时会给你回馈,这就是它的全部。就这样提出你的要求:

response = requests.get("https://opendata-api.stib-mivb.be/Files/1.0/Gtfs",
    headers = {'Authorization': 'Bearer {}'.format(access_token)})

它们返回的数据是一个大小合适的zip文件;我建议遵循this answer中的示例将响应流式传输到文件。像这样:

response = requests.get("https://opendata-api.stib-mivb.be/Files/1.0/Gtfs",
    headers = {'Authorization': 'Bearer {}'.format(access_token)},
    stream = True)
with open('gtfs.zip', 'w') as out:
    for chunk in response.iter_content(chunk_size=4096):
        out.write(chunk)

相关问题 更多 >