当前位置: 首页 > 工具软件 > C++Memo > 使用案例 >

curl memo

弘烨烁
2023-12-01
  • POST请求
curl -H "Content-Type:application/json" -X POST "http://localhost/path" -d 'body'
  • url encode
/*
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'
  • 以json形式展开response
$ 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"
  }
}
 类似资料:

相关阅读

相关文章

相关问答