使用curl发送REST API请求

cURL 是一个命令行实用程序,用于使用支持的协议之一从远程服务器传输数据或向远程服务器传输数据。它默认安装在 macOS 和大多数 Linux 发行版上。开发人员使用 cURL 来测试 API 、查看响应Headers和发送HTTP 请求。

HTTP 请求

API 请求由四个不同的部分组成:

  • Endpoint 。这是客户端用来与服务器通信的 URL。
  • HTTP method。它告诉服务器客户端想要执行什么操作。最常用的方法是GET POST PUT DELETEPATCH
  • Headers 。用于在服务器和客户端之间传递附加信息,例如授权。
  • Request body。发送到服务器的数据。

使用curlRESTful API 进行交互。curl是用于从远程服务器传输数据或向远程服务器传输数据的命令行实用程序。

Curl选项

curl 命令的语法如下:

以下是我们在发出请求时将使用的选项:

  • -X, --request– 要使用的 HTTP 方法。
  • -i, --include– 包括响应Headers。
  • -d, --data– 要发送的数据。
  • -H, --header– 要发送的附加Headers。

HTTP GET

GET 方法从服务器请求特定资源。

GET 是使用curl. 以下是向JSONPlaceholder API 发出 GET 请求以获取所有帖子的 JSON 表示的示例:

curl https://jsonplaceholder.typicode.com/posts

要过滤结果,请使用查询参数:

curl https://jsonplaceholder.typicode.com/posts?userId=1

HTTP POST

POST 方法用于在服务器上创建资源。如果资源存在,则将其覆盖。

以下命令 使用选项指定的数据发出POST 请求

curl -X POST -d "userId=5&title=Hello World&body=Post body." https://jsonplaceholder.typicode.com/posts

请求正文的类型使用Content-Type标头指定。默认情况下,当未给出此标头时curl使用Content-Type: application/x-www-form-urlencoded.

要发送 JSON 格式的数据,请将正文类型设置为application/json

curl -X POST -H "Content-Type: application/json" \

HTTP Put

PUT 方法用于更新或替换服务器上的资源。它将指定资源的所有数据替换为请求数据。

    curl -X PUT -d "userId=5&title=Hello World&body=Post body." https://jsonplaceholder.typicode.com/posts/5

HTTP PATCH

PUT 方法用于对服务器上的资源进行部分更新。

curl -X PUT -d "title=Hello Universe" https://jsonplaceholder.typicode.com/posts/5

HTTP DELETE

DELETE 方法从服务器中删除指定的资源。

curl -X DELETE https://jsonplaceholder.typicode.com/posts/5

Authorization授权

如果 API 端点需要身份验证,您将需要获取访问密钥。否则,API 服务器将响应“禁止访问”或“未授权”响应消息。

获取访问密钥的过程取决于您使用的 API。获得访问令牌后,您可以在标头中发送它:

curl -X GET -H "Authorization: Bearer {ACCESS_TOKEN}" "https://api.server.io/posts"


如何使用curl来发出测试 API 请求。有关 的更多信息curl,请访问Curl 文档 页面。

Bash Shebang是什么?
如何在bash脚本添加注释

发表我的评论

电子邮件地址不会被公开。 必填项已用*标注

39 + 63 =

ajax-loader