0
点赞
收藏
分享

微信扫一扫

工欲善其事必先利其器——curl

爱动漫建模 2022-03-30 阅读 114

curl

工欲善其事必先利其器。

一、介绍:

二、用法:

查看帮助:curl —help

语法:curl [options…]

各类常见参数:


在指定参数后跟的值(如post传递参数,设置http请求头)时,请用双引号,不要用单引号。

参数说明
(不跟参数)直接访问url并返回页面源码
-A指定User-Agnet,例:curl -A “Mozilla/5.0”
-b向服务器发送cookie,例:curl -b “name=admin;level=high”。或curl -b cookie.txt 指定-c参数生成的cookie文件,
-c将服务器设置的参数写入指定文件。例:curl -c cookie.txt
-d/—data用于发送POST请求的数据体。使用-d参数时,请求头会自动加上”Conten-Type:application/x-www-form-urlencoded”,并且自动转为POST请求。例:curl -d “name=data” 或 curl -d “@from-data.txt”读取文件from-data.txt的数据。
—data-urlencode对POST数据进行url编码后发送,用法等同于-d参数,可直接替代-d参数
—data-ascii对POST数据进行ASCII编码后发送,同上
—data-binary对POST数据编码成二进制后发送,同上
-e指定Referer。例:curl -e “https://baidu.com”
-F向服务器上传二进制文件。例:curl -F “file=@test.png” http://test.com HTTP请求会自动加上Content-Type: multipart/form-data,并将test.png做为file字段的值上传
-G和-d参数配合,用于构造url get型传参。例:curl -G -d “name=data” http://test.com,此时url被构造为http://test.com/?name=data,结合—data-urlencode可以进行url编码
-H/—header自定义添加HTTP请求头。例:curl -H “Accept-Language: zh”,可多次指定
-i显示HTTP响应头和页面源码。例:curl -i http://test.com
-I/—head只显示HTTP响应,实际是用head方法请求目标url,等同于—head参数
-k跳过SSL检测
-L使HTTP请求跟随服务器重定向。curl默认不会跟随
—limit-rate用来限制HTTP请求和回应的带宽,用于模拟网速差的环境。例:curl —limit-rate 200k
-o用于将服务器的回应保存到指定文件。例:curl -o test.html http://test.com
-O用于将服务器的回应保存到文件(以url最后部分作为文件名)。例:curl -O http://test.com/index.php。 会自动在当前目录下保存为index.html。必须指定到目标文件
-s不输出错误和进度信息
-S只输出错误信息,与-s结合使用时,除非发生错误,否则没有任何输出
-u用来指定服务器认证的用户名和密码。例:curl -u “name:passwd”
-v输出通信的整个过程,用于测试
-x指定HTTP请求代理,默认为HTTP代理,用法 -x [protocol://]host[:port]
-X指定HTTP请求的方法

三、示例:

  1. 用单引号的问题

    curl -A 'Mozilla/5.0' -d 'name=data' -x http://127.0.0.1:8080 http://test.com
    

    此时发送的http请求数据包,指定的字段也会包含单引号

    example1

  2. -I参数实际上使用head方法请求,等同于—head参数

    curl -I -x http://127.0.0.1:8080 http://test.com
    

    example2

  3. -O参数将 URL 的最后部分当作文件名,且必须指定到目标文件

    example3

举报

相关推荐

0 条评论