欢迎各位兄弟 发布技术文章
这里的技术是共享的
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
查看完整手册!