欢迎各位兄弟 发布技术文章
这里的技术是共享的
macos curl post 提交示例
在 macOS 终端中使用 cURL 工具发送 POST 请求的几种常见方式:
bashcurl -X POST https://example.com/api
bashcurl -X POST https://example.com/api \ -d "username=admin&password=123456"
或使用多个 -d 参数:
bashcurl -X POST https://example.com/api \ -d "username=admin" \ -d "password=123456"
bashcurl -X POST https://example.com/api \ -H "Content-Type: application/json" \ -d '{"username":"admin","password":"123456"}'
bashcurl -X POST https://example.com/api \ -H "Content-Type: application/json" \ -d @data.json
bashcurl -X POST https://example.com/api \ -H "Authorization: Bearer token123" \ -H "Content-Type: application/json" \ -d '{"key":"value"}'
添加 -v 参数查看详细输出:
bashcurl -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握手等调试信息。
示例:
bashcurl -v https://example.com
输出:会显示完整的 HTTP 请求和响应过程,适合调试。
-X(指定 HTTP 方法)作用:指定 HTTP 请求方法(如 GET、POST、PUT、DELETE 等)。
默认:如果不指定 -X,curl 默认使用 GET。
示例:
bashcurl -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)
示例:
bashcurl -X POST https://example.com/api \ -H "Content-Type: application/json" \ -H "Authorization: Bearer abc123"
-d(发送 POST 数据)作用:发送 HTTP POST 请求的数据(request body)。
默认行为:
如果使用 -d,curl 会自动设置 Content-Type: application/x-www-form-urlencoded(表单格式)。
如果需要发送 JSON,需手动指定 -H "Content-Type: application/json"。
示例:
发送表单数据:
bashcurl -X POST https://example.com/login \ -d "username=admin&password=123456"
发送 JSON 数据:
bashcurl -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 方法(如 POST) | curl -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 是常用选项的 简写形式(短选项),它们的完整写法(长选项)和含义如下:
-v(简写)完整写法:--verbose
含义:显示详细调试信息(请求头、响应头、SSL 握手等)。
示例:
bashcurl -v https://example.com # 等价于 curl --verbose https://example.com
-X(简写)完整写法:--request
含义:指定 HTTP 请求方法(如 GET、POST、PUT 等)。
示例:
bashcurl -X POST https://example.com # 等价于 curl --request POST https://example.com
-H(简写)完整写法:--header
含义:添加 HTTP 请求头(可多次使用)。
示例:
bashcurl -H "Content-Type: application/json" https://example.com # 等价于 curl --header "Content-Type: application/json" https://example.com
-d(简写)完整写法:--data
含义:发送 POST 请求的数据(默认会隐式设置 POST 方法)。
示例:
bashcurl -d "key=value" https://example.com # 等价于 curl --data "key=value" https://example.com
| 简写选项 | 完整选项 | 作用 |
|---|---|---|
-v | --verbose | 显示详细调试信息 |
-X | --request | 指定 HTTP 方法 |
-H | --header | 添加 HTTP 请求头 |
-d | --data | 发送 POST 请求的数据体 |
简写与完整选项可以混用:例如:
bashcurl --verbose -X POST -H "Content-Type: application/json" --data '{"key":"value"}'
查看所有选项:
运行 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 请求并提交表单数据,可以按照以下方式操作:
bashcurl -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 自动用 & 连接起来
bashcurl -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"
bashcurl -X POST ... > response.json
-X 是什么简写
-X 是 curl 命令的选项(option),用于 指定 HTTP 请求方法(如 GET、POST、PUT、DELETE 等)。
-X 不是简写,而是 curl 的一个标准选项,完整写法就是 -X(没有更长的形式)。
作用:显式控制 HTTP 请求方法(默认情况下,curl 会根据参数自动选择方法,比如 -d 默认为 POST)。
示例对比:
默认行为(不加 -X):
bashcurl -d "qy=0" "http://example.com" # curl 会自动使用 POST,因为用了 -d
显式指定(加 -X):
bashcurl -X POST -d "qy=0" "http://example.com" # 效果同上,但明确指定了方法
强制使用其他方法(如 DELETE):
bashcurl -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 查看完整手册!