curl常用命令

Curl 的使用主要分为两大类。

一个是网站服务的分析,工程师会希望了解查看网站的返回状态如何;希望了解整个 HTTP 通信过程;想知道特定场景如 IPV6 的服务站点环境下进行模拟检测,等等。

第二个类型就是功能用途的使用。这里我们会了解 Curl 如何上传文件、下载文件;如何做断点续传,如何发起多种 HTTP 的请求;如何使用到 Curl 的代理模式来进行访问。

1、curl -A ‘User-Agent’ url

-A或者-H参数指定客户端的用户代理标头,即User-Agent

指定User-Agent

curl -A 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.198 Safari/537.36' http://www.google.com

移出User-Agent

curl -A '' https://google.com
2、-d参数用于发送 POST 请求的数据体
$ curl -d'login=googlo&password=123'-X POST https://google.com/login
# 或者
$ curl -d 'login=google' -d 'password=123' -X POST  https://google.com/login
3、 -v或者–trace能看到整个请求过程

包含:请求的头信息是什么,然后服务端返回的头信息是什么,服务端返回的如果有 body 的信息的话,同样会打印出 body 信息。

curl -v www.baidu.com
* About to connect() to www.baidu.com port 80 (#0)
*   Trying 14.215.177.38...
* Connected to www.baidu.com (14.215.177.38) port 80 (#0)
> GET / HTTP/1.1
> User-Agent: curl/7.29.0
> Host: www.baidu.com
> Accept: */*
>
< HTTP/1.1 200 OK
< Accept-Ranges: bytes
< Cache-Control: private, no-cache, no-store, proxy-revalidate, no-transform
< Connection: keep-alive

–trace

[root@master etc]# curl --trace -https://www.baidu.com
curl: no URL specified!
curl: try 'curl --help' or 'curl --manual' for more information
[root@master etc]# curl --trace - https://www.baidu.com
== Info: About to connect() to www.baidu.com port 443 (#0)
== Info:   Trying 14.215.177.39...
== Info: Connected to www.baidu.com (14.215.177.39) port 443 (#0)
== Info: Initializing NSS with certpath: sql:/etc/pki/nssdb
== Info:   CAfile: /etc/pki/tls/certs/ca-bundle.crt
  CApath: none
== Info: SSL connection using TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256
== Info: Server certificate:
== Info:        subject: CN=baidu.com,O="Beijing Baidu Netcom Science Technology Co., Ltd",OU=service operation department,L=beijing,ST=beijing,C=CN
== Info:        start date: Jul 05 05:16:02 2022 GMT
== Info:        expire date: Aug 06 05:16:01 2023 GMT
== Info:        common name: baidu.com

–trace参数也可以用于调试,还会输出原始的二进制数据

4、-e设置Referer
curl -e 'https://google.com?q=example' https://www.example.com
5、-k跳过 SSL 检测。
curl -k https://www.example.com

上面命令不会检查服务器的 SSL 证书是否正确

6、-L跟随服务器的重定向
 curl -L https://api.twitter.com/tweet
7、限制请求和回应的带宽
curl --limit-rate 200k https://google.com

上面命令将带宽限制在每秒 200K 字节

8、指定请求的代理
curl -x 200.200.200.200 www.baidu.com

通过 200.200.200.200 这台机器去请求服务端站点

9、指定请求的方法
curl -X POST https://www.example.com
10、检测 IPv6 的服务站点
curl -6 -vo /dev/null --resolve "static.meituan.net:80:[240e:ff:e02c:1:21::]" "http://static.meituan.net/bs/@mtfe/knb-core/latest/dist/index.js"

curl -6 表示发起的是一个 IPv6 的请求。 -v 表示现实通信过程。-o 表示把请求返回的 body 数据放到本地空设备,也就是 body 数据不展示,只显头部信息,相当于 -I 的作用。–resolve 表示做的是域名和 IP 的解析,我把 static.meituan.net 这个域名的请求地址手动指定解析到 IPv6 地址,然后后面是请求的 URL 了。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值