IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 开发测试 -> 什么是 cURL,它与 API 有什么关系? -> 正文阅读

[开发测试]什么是 cURL,它与 API 有什么关系?

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 头,例如日期、内容类型等

    仅显示 HTTPS 标头的 curl 命令结果的屏幕截图

  • -v是详情选项

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

    此命令将显示运行 curl 命令时发生的所有细节,包括连接信息、headers头以及返回的所有数据。在这里,我们还获得了请求返回的图像的描述以及图像 url。

    仅显示 HTTPS 标头的 curl 命令结果的屏幕截图

  • -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 图片预览程序打开它。

屏幕截图显示从 curl 和 python 命令组合返回的图像

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

您不必非要使用命令行curl来发出 API 请求。您也可以使用其它多种不同的工具来进行 API 交互,例如 HTTPie、Postman 和 Rest Client。

HTTPie

HTTPie 是一个命令行 HTTP 客户端,对用户友好的操作界面是它的一大特点。你可以直接下载其在线版本,非常整洁。

Postman

Postman是一个基于 UI 的客户端,用于与 API 开发相关的所有事情,它可以说是最受欢迎的客户端之一。

您可以在 Postman 中生成和执行curl命令。要生成curl命令,可以输入请求 的URL地址 和请求参数,然后点击右侧的代码选项:

显示突出显示 Postman URL 和代码选项的屏幕截图

将显示一个框, 选择curl就可以查看生成的curl命令。

显示 Postman 中生成的 curl 命令的屏幕截图

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

显示邮递员请求历史记录的屏幕截图

VS Code 中的Rest Client客户端

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

您只需输入您的 curl 命令,上面就会出现“发送请求”选项。

VS Code 中 curl 命令请求的屏幕截图

单击发送请求后,将打开另一个选项卡,其中包含响应。

总结和后续步骤

本文中介绍了基本curl命令及其最有用的选项。我们还介绍了可帮助您开始使用 cURL 的工具软件。现在您可以开始使用 cURL 来测试您的端点并对您的应用程序进行故障排除。

  开发测试 最新文章
pytest系列——allure之生成测试报告(Wind
某大厂软件测试岗一面笔试题+二面问答题面试
iperf 学习笔记
关于Python中使用selenium八大定位方法
【软件测试】为什么提升不了?8年测试总结再
软件测试复习
PHP笔记-Smarty模板引擎的使用
C++Test使用入门
【Java】单元测试
Net core 3.x 获取客户端地址
上一篇文章      下一篇文章      查看所有文章
加:2022-04-22 19:07:17  更:2022-04-22 19:08:51 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年5日历 -2024/5/19 10:55:42-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码