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

这里的技术是共享的

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 查看完整文档。

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




表单数据 为  qy:0      policy_id:187     computer_id:5425

post 方法 

url 为  http://aaaa.bbbb.com/ajax_qiyong_jingyong_computer_in_policy?new=1

 macos shell 的 curl 如何使用

在 macOS 的 shell 中使用 curl 发送 POST 请求并提交表单数据,可以按照以下方式操作:

bash
curl -X POST \  "http://aaaa.bbbb.com/ajax_qiyong_jingyong_computer_in_policy?new=1" \  -d "qy=0" \  -d "policy_id=187" \  -d "computer_id=5425"

参数说明:

  • -X POST 指定使用 POST 方法

  • -d 用于发送表单数据(会默认设置 Content-Type: application/x-www-form-urlencoded

  • 多个 -d 参数会被 curl 自动用 & 连接起来

如果服务器需要额外的 header(比如 token):

bash
curl -X POST \  "http://aaaa.bbbb.com/ajax_qiyong_jingyong_computer_in_policy?new=1" \  -H "Authorization: Bearer your_token_here" \  -d "qy=0" \  -d "policy_id=187" \  -d "computer_id=5425"

如果需要保存响应结果到文件:

bash
curl -X POST ... > response.json


-X 是什么简写

-X 是 curl 命令的选项(option),用于 指定 HTTP 请求方法(如 GETPOSTPUTDELETE 等)。

关键点:

  1. -X 不是简写,而是 curl 的一个标准选项,完整写法就是 -X(没有更长的形式)。

  2. 作用:显式控制 HTTP 请求方法(默认情况下,curl 会根据参数自动选择方法,比如 -d 默认为 POST)。

  3. 示例对比

  • 默认行为(不加 -X):

    bash
    curl -d "qy=0" "http://example.com" # curl 会自动使用 POST,因为用了 -d
  • 显式指定(加 -X):

    bash
    curl -X POST -d "qy=0" "http://example.com" # 效果同上,但明确指定了方法
  • 强制使用其他方法(如 DELETE):

    bash
    curl -X DELETE "http://example.com/resource"

为什么你的原始命令需要 -X POST

虽然 -d 会默认让 curl 使用 POST,但 显式写出 -X POST 更清晰,避免歧义(尤其是在复杂的脚本中)。

其他常见 curl 选项:

选项作用
-H添加请求头(如 -H "Content-Type: application/json"
-d发送表单数据(默认 POST
-G强制使用 GET,此时 -d 的数据会变成 URL 参数
-v显示详细请求/响应信息(调试用)
-o将响应保存到文件(如 -o result.json

如果还有疑问,可以试试 man curl 查看完整手册!


普通分类: