【问题标题】:I seek clarifications about working with APIs我寻求有关使用 API 的说明
【发布时间】:2021-03-25 11:32:12
【问题描述】:

以下代码来自Python Crash Course一书。 第 17 章使用 API
简要说明:在下面的代码中,作者通过API CALL(确切地说是Github的API)请求数据,将URL设置为变量,将标头设置为变量,等等。这一切都是以一种简单的方式将可点击/易于理解的应用到新手(代码)。

import requests

# Make an API call and store the response
url = 'https://api.github.com/search/repositories?q=language:python&sort=starts'
headers = {'accept': 'application/vnd.github.v3+json'} # What does this do?
r = requests.get(url, headers=headers) 
print(f"status code {r.status_code}")

...extra code snipped...

headers-variable 总是必要的吗?事实上,为什么首先要有 header-variable 呢?我将引用下面书中的解释作为引用。

GitHub 目前在其 API 的第三版上,所以我们定义 API 调用 3 [指 headers-variable] 的标头,明确要求使用此版本的 API。

【问题讨论】:

  • 您是专门询问requests 模块还是GitHub API?还是你在问 HTTP 标头的目的是什么?
  • @E_Roj:它记录在Github API docs
  • 在上面的代码中,作者创建了一个变量[headers]。我不明白那条线的目的!我希望我说清楚了。

标签: python api


【解决方案1】:

你问了两个问题:

  • 什么是 HTTP 标头
  • 对于 GitHub API,名为 accept 的标头是什么意思。

Here 你可以(一般地)阅读有关 HTTP 标头的信息。

关于第二个问题:

Accept request HTTP 标头通告客户端能够理解的以 MIME 类型表示的内容类型。使用内容协商,服务器然后选择其中一个提案,使用它并通过 Content-Type 响应标头通知客户端其选择。

有关特定标头值的确切说明,请参阅here

请参阅here 了解更多信息。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-05-27
    • 2021-10-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-09-28
    • 2010-09-17
    相关资源
    最近更新 更多