乐闻世界logo
搜索文章和话题

如何使用 cURL 发送 GET 和 POST 请求?

3月7日 19:41

在 cURL 中,GET 和 POST 请求是最常用的两种 HTTP 方法,它们的使用场景和参数配置有所不同。

GET 请求

GET 请求用于获取数据,参数通常附加在 URL 中。

bash
# 基础 GET 请求 curl https://api.example.com/users # 带查询参数 curl "https://api.example.com/users?page=1&limit=10" # 带请求头 curl -H "Authorization: Bearer token123" \ -H "Accept: application/json" \ https://api.example.com/users # 显示响应头信息 curl -i https://api.example.com/users # 仅显示响应头 curl -I https://api.example.com/users

POST 请求

POST 请求用于提交数据,需要使用 -X POST 指定方法,-d 传递数据。

bash
# 发送 JSON 数据 curl -X POST https://api.example.com/users \ -H "Content-Type: application/json" \ -d '{"name":"张三","email":"zhangsan@example.com"}' # 发送表单数据 curl -X POST https://api.example.com/login \ -d "username=admin&password=123456" # 从文件读取数据 curl -X POST https://api.example.com/upload \ -H "Content-Type: application/json" \ -d @data.json # 上传文件 curl -X POST https://api.example.com/upload \ -F "file=@/path/to/file.pdf"

关键区别

特性GETPOST
数据位置URL 参数请求体
数据大小受 URL 长度限制无限制
安全性参数可见相对安全
缓存可被缓存不缓存
幂等性幂等非幂等

常用参数说明

  • -X--request:指定 HTTP 方法
  • -H--header:添加请求头
  • -d--data:发送数据
  • -F--form:上传表单/文件
  • -i:显示响应头和内容
  • -I:仅显示响应头
标签:cURL