cURL 是一个命令行实用程序,用于使用支持的协议之一从远程服务器传输数据或向远程服务器传输数据。它默认安装在 macOS 和大多数 Linux 发行版上。开发人员使用 cURL 来测试 API 、查看响应Headers和发送HTTP 请求。
API 请求由四个不同的部分组成:
GET
POST
PUT
DELETE
和PATCH
使用curl
RESTful API 进行交互。curl
是用于从远程服务器传输数据或向远程服务器传输数据的命令行实用程序。
该curl
命令的语法如下:
以下是我们在发出请求时将使用的选项:
-X
, --request
– 要使用的 HTTP 方法。-i
, --include
– 包括响应Headers。-d
, --data
– 要发送的数据。-H
, --header
– 要发送的附加Headers。GET 方法从服务器请求特定资源。
GET 是使用curl
. 以下是向JSONPlaceholder API 发出 GET 请求以获取所有帖子的 JSON 表示的示例:
curl https://jsonplaceholder.typicode.com/posts
要过滤结果,请使用查询参数:
curl https://jsonplaceholder.typicode.com/posts?userId=1
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" \
PUT 方法用于更新或替换服务器上的资源。它将指定资源的所有数据替换为请求数据。
curl -X PUT -d "userId=5&title=Hello World&body=Post body." https://jsonplaceholder.typicode.com/posts/5
PUT 方法用于对服务器上的资源进行部分更新。
curl -X PUT -d "title=Hello Universe" https://jsonplaceholder.typicode.com/posts/5
DELETE 方法从服务器中删除指定的资源。
curl -X DELETE https://jsonplaceholder.typicode.com/posts/5
如果 API 端点需要身份验证,您将需要获取访问密钥。否则,API 服务器将响应“禁止访问”或“未授权”响应消息。
获取访问密钥的过程取决于您使用的 API。获得访问令牌后,您可以在标头中发送它:
curl -X GET -H "Authorization: Bearer {ACCESS_TOKEN}" "https://api.server.io/posts"
—
如何使用curl
来发出测试 API 请求。有关 的更多信息curl
,请访问Curl 文档 页面。