欢迎各位兄弟 发布技术文章

这里的技术是共享的

You are here

macos curl post 提交示例 AG chatgpt 有大用 有大大用

macos curl post 提交示例 

macOS 中使用 cURL 进行 POST 请求示例

在 macOS 终端中使用 cURL 工具发送 POST 请求的几种常见方式:

基本 POST 请求

bash
curl -X POST https://example.com/api

发送表单数据 (application/x-www-form-urlencoded)

bash
curl -X POST https://example.com/api \     -d "username=admin&password=123456"

或使用多个 -d 参数:

bash
curl -X POST https://example.com/api \     -d "username=admin" \     -d "password=123456"

发送 JSON 数据 (application/json)

bash
curl -X POST https://example.com/api \     -H "Content-Type: application/json" \     -d '{"username":"admin","password":"123456"}'

从文件读取 POST 数据

bash
curl -X POST https://example.com/api \     -H "Content-Type: application/json" \     -d @data.json

带授权头的 POST 请求

bash
curl -X POST https://example.com/api \     -H "Authorization: Bearer token123" \     -H "Content-Type: application/json" \     -d '{"key":"value"}'

查看详细请求/响应信息

添加 -v 参数查看详细输出:

bash
curl -v -X POST https://example.com/api \     -H "Content-Type: application/json" \     -d '{"test":"value"}'

macOS 上的 cURL 是系统自带的,无需额外安装。如果需要更新到最新版本,可以使用 Homebrew: brew install curl



-v -X -H -d 分别表示什么意思

在 curl 命令中,-v-X-H-d 是常用的选项,具体含义如下:


-v(verbose,详细模式)

  • 作用:显示详细的请求和响应信息,包括请求头、响应头、SSL握手等调试信息。

  • 示例

    bash
    curl -v https://example.com
  • 输出:会显示完整的 HTTP 请求和响应过程,适合调试。


-X(指定 HTTP 方法)

  • 作用:指定 HTTP 请求方法(如 GETPOSTPUTDELETE 等)。

  • 默认:如果不指定 -Xcurl 默认使用 GET

  • 示例

    bash
    curl -X POST https://example.com/api
  • 注意:如果使用 -d(发送数据),curl 会自动设置为 POST,此时可以省略 -X POST


-H(添加 HTTP 请求头)

  • 作用:设置 HTTP 请求头(headers),可以多次使用 -H 添加多个头。

  • 格式-H "Header-Name: Header-Value"

  • 常用场景

    • 设置 Content-Type(如 application/json

    • 添加 Authorization(如 Bearer token123

  • 示例

    bash
    curl -X POST https://example.com/api \     -H "Content-Type: application/json" \     -H "Authorization: Bearer abc123"

-d(发送 POST 数据)

  • 作用:发送 HTTP POST 请求的数据(request body)。

  • 默认行为

    • 如果使用 -dcurl 会自动设置 Content-Type: application/x-www-form-urlencoded(表单格式)。

    • 如果需要发送 JSON,需手动指定 -H "Content-Type: application/json"

  • 示例

    • 发送表单数据:

      bash
      curl -X POST https://example.com/login \     -d "username=admin&password=123456"
    • 发送 JSON 数据:

      bash
      curl -X POST https://example.com/api \     -H "Content-Type: application/json" \     -d '{"username":"admin","password":"123456"}'
  • 特殊用法

    • @filename:从文件读取数据(如 -d @data.json)。

    • 多个 -d 参数会自动合并(用 & 连接)。


总结表格

选项含义示例
-v显示详细调试信息curl -v https://example.com
-X指定 HTTP 方法(如 POSTcurl -X POST https://example.com
-H添加 HTTP 请求头curl -H "Content-Type: application/json"
-d发送 POST 请求数据curl -d "key=value"

补充说明

  • -X 可以省略:如果用了 -d,默认就是 POST

  • -H 可以多次使用:添加多个请求头。

  • -d 数据可以是字符串、文件(@file)或多参数组合。

如果有其他选项需要解释,欢迎继续提问!



-v -X -H -d 分别是什么简写

在 curl 命令中,-v-X-H-d 是常用选项的 简写形式(短选项),它们的完整写法(长选项)和含义如下:


1. -v(简写)

  • 完整写法--verbose

  • 含义:显示详细调试信息(请求头、响应头、SSL 握手等)。

  • 示例

    bash
    curl -v https://example.com # 等价于 curl --verbose https://example.com

2. -X(简写)

  • 完整写法--request

  • 含义:指定 HTTP 请求方法(如 GETPOSTPUT 等)。

  • 示例

    bash
    curl -X POST https://example.com # 等价于 curl --request POST https://example.com

3. -H(简写)

  • 完整写法--header

  • 含义:添加 HTTP 请求头(可多次使用)。

  • 示例

    bash
    curl -H "Content-Type: application/json" https://example.com # 等价于 curl --header "Content-Type: application/json" https://example.com

4. -d(简写)

  • 完整写法--data

  • 含义:发送 POST 请求的数据(默认会隐式设置 POST 方法)。

  • 示例

    bash
    curl -d "key=value" https://example.com # 等价于 curl --data "key=value" https://example.com

总结表

简写选项完整选项作用
-v--verbose显示详细调试信息
-X--request指定 HTTP 方法
-H--header添加 HTTP 请求头
-d--data发送 POST 请求的数据体

补充说明

  1. 简写与完整选项可以混用:例如:

    bash
    curl --verbose -X POST -H "Content-Type: application/json" --data '{"key":"value"}'
  2. 查看所有选项
    运行 curl --help 或 man curl 查看完整文档。

如果有其他选项需要了解,欢迎继续提问!




普通分类: