curl命令行工具

curl命令行工具 https://blog.csdn.net/Michael_lcf/article/details/103049896
wget命令行工具 https://blog.csdn.net/Michael_lcf/article/details/131124583


curl 命令行工具是用来请求 Web 资源的。它的名字就是客户端(client)的 URL 工具的意思。该命令行参数丰富。若熟练使用,可以取代 Postman 这一类的图形界面工具。

1、curl 简单使用

-h 来查看请求参数的含义。
-H 指定header。
-v 显示请求的信息。
-X 选项指定其它协议。
超时时间:一个是连接超时时间,另一个是数据传输的最大允许时间。
--connect-timeout 指定连接超时时间。
-m 指定数据传输的最大允许时间。

1.1、curl get

curl -H 'User-Agent:xxxx' -v --connect-timeout 10 -m 20 192.168.168.168:8080/test

1.2、curl post

curl -v 192.168.168.168:8080/test -d 'age=18&name=liming'

curl -v -X POST 192.168.168.168:8080/test -d 'age=18&name=liming'

==================================================
curl -X POST -H "Content-Type: application/json" -d '{"key":"value"}' URL
# `Content-Type`标头设置为`application/json`,以指定传输的数据类型为JSON。
# `URL`是目标服务器的URL,`{"key":"value"}`是要发送的JSON数据。

1.3、curl put

curl -v -X PUT 192.168.168.168:8080/test -d 'age=18&name=liming'

1.4、curl delete

curl -v -X DELETE 192.168.168.168:8080/test

1.5、curl POST 上传文件表单


curl http://www.baidu.com/upload \
-X POST  \
-F "syslogFile=@/root/a.txt" \
--form-string "ip=192.168.168.2" \
--form-string "mac=44:D1:FA:D2:19:04" \
--form-string "yyyyMMddHHmmss=20230212120202" 

2、浏览器常用的User-Agent

谷歌

user-agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.106 Safari/537.36

IE

User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; Trident/7.0; rv:11.0) like Gecko

火狐

User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101 Firefox/78.0

curl 是一个非常强大的命令行工具,用于获取或发送数据,支持多种协议,如 HTTP, HTTPS, FTP, SFTP, TFTP, DICT, TELNET, LDAP, LDAPS 和 FILE。它广泛应用于自动化任务、脚本编写、测试和开发环境中。以下是一些常用的 curl 命令参数:

curl基本使用

  • -X, --request <command>:指定请求类型,如 GET, POST, PUT, DELETE 等。
  • <URL>:请求的目标 URL。

输出控制

  • -o, --output <file>:将输出写入指定的文件。
  • -O, --remote-name:将输出写入与远程文件同名的本地文件。
  • -s, --silent:静默模式,不显示进度条和错误消息。
  • -S, --show-error:即使在静默模式下,也显示错误信息。
  • -L, --location:跟随 HTTP 重定向。
  • -I, --head:只请求 HTTP 头部信息。
  • -D, --dump-header <file>:将服务器响应的头部信息写入指定文件。
  • -w, --write-out <format>:自定义输出格式,可以用来输出特定的 HTTP 信息。

数据传输

  • -d, --data <data>:发送 POST 数据。
  • --data-binary <data>:发送二进制 POST 数据。
  • -F, --form <name>=<value>:发送表单数据。
  • -T, --upload-file <file>:上传文件。
  • -u, --user <user:password>:使用基本或摘要认证。
  • -b, --cookie <string>:发送 Cookie。
  • -H, --header <line>:自定义 HTTP 请求头。

超时和速度控制

  • -m, --max-time <seconds>:设置最大时间限制。
  • -#:显示传输速度。
  • -x, --proxy <host:port>:使用代理服务器。
  • --limit-rate <bytes-per-second>:限制传输速度。

SSL/TLS 相关

  • -k, --insecure:忽略 SSL 证书错误。
  • -E, --cert <certificate_file>:客户端证书。
  • --cacert <ca_certificate>:CA 证书。
  • --capath <directory>:CA 证书目录。
  • --resolve <host:port:address>:解析主机名到特定 IP 地址。

其他

  • -v, --verbose:详细模式,显示更多的调试信息。
  • -A, --user-agent <agent>:设置 User-Agent 字段。
  • --retry <num>:设置重试次数。
  • --retry-delay <seconds>:设置重试间隔。

这些参数可以根据具体需求组合使用,以满足复杂的网络请求场景。例如,一个完整的 curl 命令可能如下所示:

curl -X POST -H "Content-Type: application/json" -d '{"key":"value"}' https://api.example.com/resource

这个命令向 https://api.example.com/resource 发送一个 POST 请求,请求头中包含 Content-Type: application/json,并且发送 JSON 格式的数据 { "key": "value" }

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值