基础
- 在curl中,命令行解析器总是解析整个命令行,因此,选项可以放在整个命令行的任何位置。
- 短形式不同的是,长形式的选项使用两个中划线(—)指定,然后紧跟着具体的选项。
- 在使用长形式的时候,
—
后面只能跟一个选项。curl https://api-qa.xiaobangtouzi.com/user-center/credit/transactions\?pageNum\=4\&pageSize\=10\&creditTypeCode\=fq_credit -H "X-Request-Token: dd6726d736413256c04152562748f655"
开始
// -v是verbose模式的简写
$ curl -v www.baidu.com // 短形式
$ curl --verbose www.baidu.com // 长形式
// 复合形式
$ curl www.baidu.com -vL
$ curl --verbose --location www.baidu.com
// 或
$ curl --location www.baidu.com --verbose
// no- 前缀来指定关闭相应的特征
$ curl --no-verbose http://example.com
// 使用get方式
$ curl -G -d "name=value&name2=value2" http://www.baidu.com
// 使用post方式
$ curl -d "name=value&name2=value2" http://www.baidu.com #post数据
$ curl -d '{"is_real":1,"end_time":0,}' https://www.fuyin.con #post数据
$ curl -d a=b&c=d&txt@/tmp/txt http://www.baidu.com #post文件
$ curl -d key1=value1&key2=value2 http://example.com
// 我们也可以使用多个-d选项来指定多组数据
$ curl -d key1=value1 -d key2=value2 http://example.com
// 如果数据过多,我们还可以把数据放在一个文件中
$ curl -d @filename http://example.com
选项的参数
标志位参数—bool类型参数=>告诉curl打开或关闭某些特征
普通参数—要传值的参数
$ curl -d arbitrary http://example.com
$ curl --data arbitrary http://example.com
$ curl -A "Are you OK?" http://example.com
$ curl -d '{"name":"fool"}' http://example.com
修改配置请求头参数
$ curl -F 'name=Dan' -H 'Content-Type: multipart/magic' https://example.com
$ curl -H "HeaderName: HeaderValue" http://example.com
其中,-H
就是用来指定一个具体的Header的选项,值就是key=value
的形式。当需要指定其它的Header,可以使用-H
选项。
在curl中,我们可以使用-H
或--header
选项来指定Header。
获取请求响应时间
$ curl -o /dev/null -s -w "time_connect: %{time_connect}\ntime_starttransfer: %{time_starttransfer}\ntime_total: %{time_total}\n" GET "http://172.16.248.12:30180/activity/detail?activityId=1975342&operatorIdentificationId=2" -H "accept: */*" -H "X-Request-Token: 03b1b0635cd397955d8a987df86f7bbc"
// 使用下面这个 替换链接即可
$ curl -o /dev/null -s -w "time_connect: %{time_connect}\ntime_starttransfer: %{time_starttransfer}\ntime_total: %{time_total}\n" GET "http://www.baidu.com"
如果使用Cookies
我们可以使用--cookie
选项来设置一个Cookie:
$ curl --cookie "CookieName=CookieValue" http://example.com
我们可以使用-c
选项指定curl保存这次请求中服务器设置的Cookies
$ curl -c cookie.jar.txt http://example.com
有时,我们既需要从文件中读取Cookies,也需要保存服务器设置的Cookies。那么就可以同时使用-b
和-c
选项:
$ curl -b cookies.txt -c cookie.jar.txt http://example.com