curl命令实用教程

前言

在Linux中curl是一个利用URL规则在命令行下工作的文件传输工具,可以说是一款很强大的http命令行工具。它支持文件的上传和下载,是综合传输工具,但按传统,习惯称url为下载工具。curl命令在日常开发或运维中都经常用到,这里和大家总结下curl命令的常用用法。

基础用法

curl http://www.baidu.com

执行后,www.baidu.com 的html就会显示在屏幕上了。

保存访问的网页

方式一 使用linux的重定向功能保存

curl http://www.baidu.com >> linux.html

方式二 使用curl的内置option:-o(小写)保存网页

curl -o linux.html http://www.baidu.com

测试网页返回值

curl -o /dev/null -s -w %{http_code} http://www.baidu.com

/dev/null可以理解为/dev路径下的空文件;该命令将command命令的标准输出输出到空文件中;-s 表示静默处理 -w 输出对应的状态码;

自动跳转

有的网址是自动跳转的。使用`-L`参数,curl就会跳转到新的网址。下面的命令会自动跳转到www.sina.com.cn

curl -L http://www.sina.com

显示头信息

curl -i http://www.baidu.com

发送表单信息

发送表单信息有GET和POST两种方法。GET方法相对简单,只要把数据附在网址后面就行。

curl http://www.baidu.com/test?name=aiqinhai

POST方法必须把数据和网址分开,curl就要用到--data参数。curl默认的HTTP动词是GET,使用`-X`参数可以支持其他动词。

 curl -X POST --data "name=aiqinhai" http://www.baidu.com/test

如果你的数据没有经过表单编码,还可以让curl为你编码,参数是`--data-urlencode`。

 curl -X POST--data-urlencode "name=ai qin hai" http://www.baidu.com/test

伪造refere

很多服务器会检查http访问的referer从而来控制访问。比如:你是先访问首页,然后再访问首页中的邮箱页面,这里访问邮箱的referer地址就是访问首页成功后的页面地址,如果服务器发现对邮箱页面访问的referer地址不是首页的地址,就断定那是个盗连了curl中内置option:-e可以让我们设定referer

curl -e "www.baidu.com" http://mail.baidu.com

下载文件

使用内置option:-o(小写)

curl -o aiqinhai.jpg http://www.baidu.com/aiqinhai.jpg

使用内置option:-O(大写)

curl -O http://www.baidu.com/aiqinhai.jpg

增加头信息

有时需要在http request之中,自行增加一个头信息。--header参数就可以起到这个作用。

curl --header "Content-Type:application/json" http://www.baidu.com
或
curl -H "Content-Type:application/json" http://www.baidu.com

HTTP认证

有些网域需要HTTP认证,这时curl需要用到--user参数。

curl --user name:password http://www.baidu.com

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章