什么是 API
API,全称为 Application Programming Interface,即应用程序编程接口,是一个可用于检索代码并将数据发送到使用代码的服务器。
当我们想从API接收数据时,我们需要发出请求。请求遍及整个网络。例如,当您访问此博客文章时,您的Web浏览器向服务器发出了请求,该服务器以该Web页的内容作为响应。
用python发送API请求
先安装好python中的requests库 (Teriminal中直接输入)
pip install requests
第一个简单的API请求
requests库中有许多不同类型的请求。最常用的一个GET请求用于检索数据。由于我们将仅检索数据,因此我们的重点将放在发出“get”请求上。
发出“GET”请求,我们使用 requests.get( ) 函数,定义如下:
help(requests.get)
Help on function get in module requests.api:
get(url, params=None, **kwargs)
Sends a GET request.
:param url: URL for the new :class:`Request` object.
:param params: (optional) Dictionary, list of tuples or bytes to send
in the query string for the :class:`Request`.
:param \*\*kwargs: Optional arguments that ``request`` takes.
:return: :class:`Response <Response>` object
:rtype: requests.Response
其中首先注意 u r l url url 这个输入参数,就是最重要的API接口。
现在我们接入一个API
response = requests.get("http://api.open-notify.org/this-api-doesnt-exist")
print(response.status_code)
# 404
可能你们会很熟悉“404”这个状态代码,这是服务器返回的一个状态代码,说明要获取的资源并不存在与这个服务器上。
还有很多其他的状态代码:
·200:一切正常,结果已返回(如果有)。
·301:服务器将您重定向到其他端点。当公司切换域名或更改端点名称时,可能会发生这种情况。
·400:服务器认为您提出了错误的请求。当您没有正确发送数据时,可能会发生这种情况。
·401:服务器认为您未通过身份验证。许多API都需要登录证书,因此当您没有发送正确的凭据来访问API时就会发生这种情况。
·403:您尝试访问的资源被禁止:您没有查看该资源的正确权限。
·404:在服务器上找不到您尝试访问的资源。
·503:服务器尚未准备好处理请求。
GET 到真正的资源
通常,特定服务器上会提供多个API。这些API中的每一个通常称为端点。我们将使用的第一个端点是http://api.open-notify.org/astros.json,该端点返回有关当前太空中宇航员的数据。
response = requests.get("http://api.open-notify.org/astros.json")