curl -H "Content-Type:application/json" -X POST "http://localhost/path" -d 'body'
/*
location: 支持重定向,自动跳转
request: 使用指定的http method发出 http request
--request POST等同于-X POST
--data-urlencode 先对数据进行URL编码,再发送给HTTP服务器
*/
curl --location --request POST 'http://localhost/path' \
--header 'Authorization: Basic base64(username:password)' \
--header 'Content-Type: application/x-www-form-urlencoded' \
--data-urlencode 'key1=test'
/*
-L 跟踪重定向响应,等同于--location
-e ';auto' 告诉它在跟踪重定向响应时传送Referer头信息。这样做更加接近于真实的网页浏览器的行为。
*/
curl -L -e '; auto' 'http://localhost/abc/a/1.html'
- 请求ipv6服务器
- ipv6 的 url 中 使用 “[” 和 “]” 将 ipv6 的地址括起来;
- 使用 -g 选项,使 curl 使用正确的对 url 中的 “[” 和 “]” 字符的处理方式,必须携带该选项;
- -6,该选项是指示 curl 将目标域名仅解析为 ipv6 地址.
curl -g -v -X GET 'http://[2031:0000:1F1F:0000:0000:0100:11A0:ADDF]:8080/api/v1/testV6' --header 'test: 1' --header 'tt: 2' --header 'Content-Type: application/json'
$ curl -s https://www.githubstatus.com/api/v2/status.json | jq
{
"page": {
"id": "kctbh9vrtdwd",
"name": "GitHub",
"url": "https://www.githubstatus.com",
"time_zone": "Etc/UTC",
"updated_at": "2023-04-26T00:30:04.543Z"
},
"status": {
"indicator": "none",
"description": "All Systems Operational"
}
}