curl命令的常用参数

查看与下载

  • 通过 -I 查看页面的响应头,比如http协议及nginx版本信息等
curl -s -I https://www.baidu.com
  • 利用python工具将接口返回的json进行美化展示
curl xxxx | python -m json.tool
  • 通过 -k 指定跳过SSL检测
curl -k https://www.baidu.com
  • 通过 管道符+bash 在线执行脚本
curl -sL 'http://iso.sqlfans.cn/docker/install_docker_2401.sh' | bash
docker --version
  • 通过 -o或-O 将页面源码或目标文件保存到本地,-L 参数显示进度
# 参数 -O 使用URL中默认的文件名保存文件到当前目录
curl -L -O http://iso.sqlfans.cn/docker/docker-24.0.1.tgz

# 参数 -o 将URL中的文件保存到指定的目录及指定的文件名
curl -L http://iso.sqlfans.cn/docker/docker-24.0.1.tgz -o /opt/docker-24.0.1.tgz.bak
  • 通过 -x 指定代理,curl会将http请求发送到指定的代理服务器,并由代理服务器转发请求到目标服务器
curl -x 10.30.4.44:80 http://iso.sqlfans.cn/112233.txt

查障调优

  • 通过 -v 查看http或https的请求响应过程,用于调试
curl -sSL -v https://www.baidu.com:443
  • 通过 --socks5 指定socket代理地址发起请求
curl --socks5 192.168.201.18:10010 --proxy-user admin:UKsSZF4zcNszfBHX http://www.baidu.com
  • 利用 --resolve 自定义dns解析,可以绕过默认的DNS解析,使用自定义的ip地址来发送请求
#.将主机名 example.com 解析为 127.0.0.1,然后发送 http 请求到 http://example.com
curl --resolve example.com:127.0.0.1 http://example.com -vvv
  • 利用 --connect-timeout 指定连接超时时间,-m 指定数据传输的最大允许时间
curl --connect-timeout 10 -m 20 https://www.baidu.com
  • 利用 -w 获得http请求的响应时间,可以测试网站的打开速度
curl https://www.baidu.com -o /dev/null -s -w http_code:"\t\t"%{http_code}"\n"http_connect:"\t\t"%{http_connect}"\n"content_type:"\t\t"%{content_type}"\n"time_namelookup:"\t"%{time_namelookup}"\n"time_connect:"\t\t"%{time_connect}"\n"time_appconnect:"\t"%{time_appconnect}"\n"time_redirect:"\t\t"%{time_redirect}"\n"time_pretransfer:"\t"%{time_pretransfer}"\n"time_starttransfer:"\t"%{time_starttransfer}"\n"time_total:"\t\t"%{time_total}"\n"
  • 利用 -w 获得http请求的响应时间,比如 返回状态码
curl -m10 -Isw "%{http_code}\n" https://www.baidu.com -o /dev/null

开发调试类

  • 利用 -X 指定请求方法,-H 指定请求头参数
token=glsa_XKrkMpHxzbzntaWtgGi10SRqP3ZzEJT2_5e84f036
curl -s -X GET -H "Authorization: Bearer $token" http://127.0.0.1:3000/api/datasources/name/Prometheus
  • 利用 -X 方法 '接口' -H 'header参数名:参数值' -d 'json消息体' 完成postman的body消息体
curl -XPUT "http://elastic:Admin_147@127.0.0.1:9200/es-index" -H 'Content-Type: application/json' -d"`cat /opt/es-index.json`"
Copyright © www.sqlfans.cn 2024 All Right Reserved更新时间: 2024-06-25 15:03:49

results matching ""

    No results matching ""