cURL即clientURL,代表客户端 URL,是一个命令行工具,开发人员应用它来与服务器进行数据交互。例如:最常见的就是通过cURL向指定服务器url地址发送数据。cURL 反对多种不同的协定,包含 HTTP 和 HTTPS,并且能够在不同的操作系统平台上执行。你只须要有一台带网络连接、能够运行命令行的终端即可运行curl命令。

curl 最根本的用法格局是:curl http://example.com. 即curl命令后跟 URL,它将返回 example.com的html源代码。

curl有什么用处?

  • 它具备高度的可移植性,能够兼容简直所有操作系统和连贯设施。
  • 十分不便用来测试终端设备以查看它们是否失常工作。
  • 它能够提供具体的调试信息,例如提供已发送/接管的数据的详细信息。

发送 API 申请

咱们能够应用 curl 发送 API 申请。每个申请通常由四个次要局部组成:

  • 一个端点,它是咱们发送申请的url地址。
  • HTTP办法。最罕用的办法是 GET、POST、PUT 和 DELETE。

    • GET用于从服务器检索资源。这能够是文件、数据或图像。
    • POST用于向服务器发送数据。
    • PUT可用于创立或更新资源。这可用于创立或更新数据库中的记录或文件的内容。
    • DELETE用于删除资源,例如数据库记录。
  • Headers,其中蕴含无关申请的元数据,例如内容类型、用户代理等。
  • Body,它是音讯体,蕴含咱们要发送的数据。通常,与 POST 和 PUT 办法一起应用。

curl 命令选项

有超过两百种curl选项。您能够通过在命令行执行`curl -h来查看帮忙文档。最罕用的命令选项包含:

  • -I仅返回 HTTPS Header头

    curl --request GET 'https://api.nasa.gov/planetary/apod?api_key=<myapikey>&date=2020-01-01' -I

    此命令将返回 headers 头,例如日期、内容类型等

  • -v是详情选项

    curl --request GET 'https://api.nasa.gov/planetary/apod?api_key=$NASA_API_KEY&date=2020-01-01' -v

    此命令将显示运行 curl 命令时产生的所有细节,包含连贯信息、headers头以及返回的所有数据。在这里,咱们还取得了申请返回的图像的形容以及图像 url。

  • -o将输入存储在文件中

    curl --request GET 'https://api.nasa.gov/planetary/apod?api_key=$NASA_API_KEY&date=2020-01-01' --output curloutput

将 curl 与其余 CLI 命令联合应用

您能够将其它命令的输入用作 curl 命令的输出,或者反过来。

例如,您能够应用 curl 和 grep 查看网页是否蕴含特定文本。

上面是一个应用 curl 申请 NASA API ,并利用python3从申请返回的数据中提取图像链接,并将其显示在预览程序中的示例:

curl --request GET "https://api.nasa.gov/planetary/apod?api_key=$NASA_API_KEY&date=2020-01-01" -s | python3 -c "import sys, json; print(json.load(sys.stdin)['url'])" | xargs curl -o NASApicture.jpg && open -a Preview NASApicture.jpg

在这个例子中,咱们应用 curl 向 Nasa API 收回 GET 申请,这将返回 json 数据,咱们在一个 Python 脚本片段中从返回的json数据中提取图像的 url。而后咱们应用 curl 命令获取图像并应用 Mac 上的 Preview 图片预览程序关上它。

进行 API 调用的其它有用工具

您不用非要应用命令行curl来收回 API 申请。您也能够应用其它多种不同的工具来进行 API 交互,例如 HTTPie、Postman 和 Rest Client。

HTTPie

HTTPie 是一个命令行 HTTP 客户端,对用户敌对的操作界面是它的一大特点。你能够间接下载其在线版本,十分整洁。

Postman

Postman是一个基于 UI 的客户端,用于与 API 开发相干的所有事件,它能够说是最受欢迎的客户端之一。

您能够在 Postman 中生成和执行curl命令。要生成curl命令,能够输出申请 的URL地址 和申请参数,而后点击右侧的代码选项:

将显示一个框, 抉择curl就能够查看生成的curl命令。

Postman 为您提供了您已构建的所有申请的历史记录,甚至对它们依照日期进行了标记。

VS Code 中的Rest Client客户端

Rest Client for VS Code 可能是我最喜爱的执行curl命令的工具之一。它是轻量级的,并且有很好的语法高亮显示。这是一个十分有用的vs code 插件,不便你在 VS Code 中疾速执行一些curl申请。

您只需输入您的 curl 命令,下面就会呈现“发送申请”选项。

单击发送申请后,将关上另一个选项卡,其中蕴含响应。

总结和后续步骤

本文中介绍了根本curl命令及其最有用的选项。咱们还介绍了可帮忙您开始应用 cURL 的工具软件。当初您能够开始应用 cURL 来测试您的端点并对您的应用程序进行故障排除。