只需 10 分钟即可进一步了解 cURL!🔥🔥
几乎每个 API 都展示了如何使用 cURL 与 API 交互。因此,在继续之前,让我们先暂停一下,了解有关 cURL 的更多信息。
为什么要卷曲?
REST API 的优点之一是您可以使用几乎任何编程语言来调用端点。端点只是位于特定路径的 Web 服务器上的资源。
每种编程语言都有不同的 Web 调用方式。您无需费尽心思演示如何使用 Java、Python、C++、JavaScript、Ruby 等语言进行 Web 调用,只需使用 curl 演示调用即可。
curl 提供了一种通用的、与语言无关的方式来演示 HTTP 请求和响应。用户可以看到请求的格式,包括任何标头和其他参数。您的用户可以将其转换为他们所用语言的特定格式。
尝试使用 curl 获取网页
如前所述,REST API 如此熟悉的一个原因是 REST 遵循与 Web 相同的模型。当您在浏览器地址栏中输入 **http** 地址时,您就是在告诉浏览器向服务器上的资源发出 HTTP 请求。服务器返回响应,然后您的浏览器将响应转换为更直观的显示。但您也可以看到原始代码。
要查看 curl 如何检索 Web 资源的示例,请打开终端并输入以下内容:
curl http://example.com
Curl 将检索网站 example.com 的 HTML 代码。浏览器的工作是使该代码在视觉上可读。curl 会向您显示您实际检索的内容。
请求和响应也包含标头
当您在网站上输入地址时,您只会看到响应的正文。但实际上,幕后还发生了更多事情。当您发出请求时,您会发送一个包含有关请求的信息的请求标头。响应也包含响应标头。
curl http://example.com -I
标头将包含在响应正文的上方:
~/projects $ curl http://example.com -I HTTP/1.1 200 OK Content-Encoding: gzip Accept-Ranges: bytes Cache-Control: max-age=604800 Content-Type: text/html; charset=UTF-8 Date: Tue, 04 Dec 2018 04:35:43 GMT Etag: "1541025663+gzip" Expires: Tue, 11 Dec 2018 04:35:43 GMT Last-Modified: Fri, 09 Aug 2013 23:54:35 GMT Server: ECS (sjc/4F91) X-Cache: HIT Content-Length: 606
curl http://example.com -I
标头包含有关响应的元数据。当您在浏览器中向 URL 发出请求时(例如,当您在线浏览网页时),所有这些信息都会传输到浏览器,但浏览器不会向您显示这些信息。您可以通过 Chrome 开发者工具控制台中的“网络”标签查看标头信息。
curl -X GET http://example.com -I
当您访问网站时,您使用 GET HTTP 方法提交请求。与 REST API 交互时,您还可以使用其他 HTTP 方法。以下是使用 REST 端点时使用的常用方法:

注意:curl 请求默认使用 GET 方式,如果使用 curl 进行除 GET 之外的 HTTP 请求,需要指定 HTTP 方法。
查询字符串和参数
邮政编码 (**zip**)、应用程序 ID (**appid**) 和单位 (**units**) 参数使用“查询字符串”传递到端点。附加到 URL 的 **?** 表示查询字符串的开始。查询字符串参数是出现在 **?** 之后的参数:
?zip=95050&appid=APIKEY&units=imperial
(在上面的代码中,将**APIKEY**替换为您的实际API密钥。)
在查询字符串之后,每个参数都用 & 符号与其他参数分隔。查询字符串参数的顺序无关紧要。只有当参数位于查询字符串的左侧(因此是 URL 本身的一部分)时,顺序才重要。查询字符串之前出现的端点的任何可配置部分称为路径参数(我们稍后会深入讨论这些参数)。
与 REST 相关的常见 curl 命令
curl 有很多可能的命令,但以下是使用 REST API 时最常见的命令。

示例 curl 命令
下面是一个结合了以下一些命令的 curl 请求示例:
curl -i -H "Accept: application/json" -X POST -d "{status:MIA}" http://personsreport.com/status/person123
该请求还可以使用换行符进行格式化,以使其更具可读性:
curl -i \ -H "Accept: application/json" \ -X POST \ -d "{status:MIA}" \ http://personsreport.com/status/person123 \
(在 Windows 上换行会有问题,因此我不建议像这样格式化 curl 请求。)
**Accept** 标头告诉服务器我们在响应中接受的唯一格式是 JSON。
友情工具推荐
Apidog 通过测试、调试、设计、模拟和文档工具简化 API 流程,并提供直观的界面以轻松进行 API 请求。
1.注册或下载:
2.导入 cURL 命令:进入 Apidog 导入窗口。将 cURL 命令粘贴到文本框中,实现无缝集成。


3.配置请求参数:进入API主体,设置API header、body等配置的频率。

4.测试并改进

Apidog 用户友好,cURL 提供更丰富的功能。