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

curl

工欲善其事必先利其器。

一、介绍:

curl,全称CommandLine URL。curl命令是在命令行方式下工作,利用URL的语法进行数据的传输或者文件的传输。它实际是一个利用URL语法在命令行下工作的文件传输工具,1997年首次发行。它支持多种协议包括 (DICT, FILE, FTP, FTPS, GOPHER, HTTP, HTTPS, IMAP, IMAPS, LDAP, LDAPS, POP3, POP3S, RTMP, RTSP, SCP, SFTP, SMTP, SMTPS, TELNET and TFTP),所以是综合传输工具,但按传统,习惯称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
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

为_而战

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值