欢迎各位兄弟 发布技术文章
这里的技术是共享的
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
查看完整文档。
如果有其他选项需要了解,欢迎继续提问!