Linux的curl命令

文章作者:Tyan
博客:noahsnail.com  |  CSDN  |  简书

1. CURL介绍

CURL,全称Command Line URL Viewer,是一个Linux命令行工具,能从服务器下载数据,也能往服务器上发送数据,支持多种协议,支持的协议有:DICT,FILE,FTP,FTPS,GOPHER,HTTP,HTTPS,IMAP,IMAPS,LDAP,LDAPS,POP3,POP3S,RTMP,RTSP,SCP,SFTP,SMB,SMBS,SMTP,SMTPS,TELNET和TFTP。从CURL支持的协议就可以看出,CURL命令非常强大。

2. CURL命令用法

2.1 curl url

# 命令形式:$ curl url,访问网页,url为网页的网址,开发中可以用来查看API的返回值

# 访问百度主页,返回的是百度主页的网页源码
$ curl www.baidu.com

<html> <head><meta http-equiv=content-type content=text/html;charset=utf-8><meta http-equiv=X-UA-Compatible content=IE=Edge><meta content=always name=referrer><link rel=stylesheet type=text/css href=http://s1.bdstatic.com/r/www/cache/bdorz/baidu.min.css><title>百度一下,你就知道title>head> <body link=#0000cc> <div id=wrapper> <div id=head> <div class=head_wrapper> <div class=s_form> <div class=s_form_wrapper> <div id=lg> <img hidefocus=true src=//www.baidu.com/img/bd_logo1.png width=270 height=129> div> <form id=form name=f action=//www.baidu.com/s class=fm> <input type=hidden name=bdorz_come value=1> <input type=hidden name=ie value=utf-8> <input type=hidden name=f value=8> <input type=hidden name=rsv_bp value=1> <input type=hidden name=rsv_idx value=1> <input type=hidden name=tn value=baidu><span class="bg s_ipt_wr"><input id=kw name=wd class=s_ipt value maxlength=255 autocomplete=off autofocus>span><span class="bg s_btn_wr"><input type=submit id=su value=百度一下 class="bg s_btn">span> form> div> div> <div id=u1> <a href=http://news.baidu.com name=tj_trnews class=mnav>新闻a> <a href=http://www.hao123.com name=tj_trhao123 class=mnav>hao123a> <a href=http://map.baidu.com name=tj_trmap class=mnav>地图a> <a href=http://v.baidu.com name=tj_trvideo class=mnav>视频a> <a href=http://tieba.baidu.com name=tj_trtieba class=mnav>贴吧a> <noscript> <a href=http://www.baidu.com/bdorz/login.gif?login&amp;tpl=mn&u=http%3A%2F%2Fwww.baidu.com%2f%3fbdorz_come%3d1 name=tj_login class=lb>登录a> noscript> <script>document.write('encodeURIComponent(window.location.href+ (window.location.search === "" ? "?" : "&")+ "bdorz_come=1")+ '" name="tj_login" class="lb">登录');script> <a href=//www.baidu.com/more/ name=tj_briicon class=bri style="display: block;">更多产品a> div> div> div> <div id=ftCon> <div id=ftConw> <p id=lh> <a href=http://home.baidu.com>关于百度a> <a href=http://ir.baidu.com>About Baidua> p> <p id=cp>©2016 Baidu <a href=http://www.baidu.com/duty/>使用百度前必读a<a href=http://jianyi.baidu.com/ class=cp-feedback>意见反馈a> 京ICP证030173号  <img src=//www.baidu.com/img/gs.gif> p> div> div> div> body> html>

2.2 curl -o/-O filename url

# 命令形式:$ curl -o/-O filename url,保存访问的网页或文件,-o参数是保存,filename是要保存的文件名,-O是将远端的文件以远端文件的文件名自动保存到本地,这个命令主要是下载文件,如果需要获取多个文件,可以采用curl -O url1 -O url2

# 访问百度主页,并将访问内容保存到baidu.html中
$ curl -o baidu.html www.baidu.com
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100  2381  100  2381    0     0  34934      0 --:--:-- --:--:-- --:--:-- 35537

# 从远端服务器下载一张图片,保存为1.jpg
$ curl -o 1.jpg http://ocs628urt.bkt.clouddn.com/table_1.1.png
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100  126k  100  126k    0     0   161k      0 --:--:-- --:--:-- --:--:--  161k

# 从远程服务器下载一张图片,保存的文件名为图片在远程服务器上的名字
$ curl -O http://ocs628urt.bkt.clouddn.com/table_1.1.png
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100  126k  100  126k    0     0   132k      0 --:--:-- --:--:-- --:--:--  132k

# 下载多个文件
$ curl -O http://ocs628urt.bkt.clouddn.com/table_1.1.png -O http://ocs628urt.bkt.clouddn.com/table_java_2.png
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100  126k  100  126k    0     0   402k      0 --:--:-- --:--:-- --:--:--  402k
100  153k  100  153k    0     0  33822      0  0:00:04  0:00:04 --:--:-- 42510

2.3 curl -i/-I url

# 命令形式:$ curl -i url,访问网页并显示response信息,-i参数是显示response信息,-I参数是只显示response信息

# 访问百度主页,并将访问内容保存到baidu.html中
$ curl -i www.baidu.com
HTTP/1.1 200 OK
Server: bfe/1.0.8.18
Date: Wed, 02 Nov 2016 09:36:25 GMT
Content-Type: text/html
Content-Length: 2381
Last-Modified: Mon, 25 Jul 2016 11:11:28 GMT
Connection: Keep-Alive
ETag: "5795f3e0-94d"
Cache-Control: private, no-cache, no-store, proxy-revalidate, no-transform
Pragma: no-cache
Set-Cookie: BDORZ=27315; max-age=86400; domain=.baidu.com; path=/
Accept-Ranges: bytes


<html> <head><meta http-equiv=content-type content=text/html;charset=utf-8><meta http-equiv=X-UA-Compatible content=IE=Edge><meta content=always name=referrer><link rel=stylesheet type=text/css href=http://s1.bdstatic.com/r/www/cache/bdorz/baidu.min.css><title>百度一下,你就知道title>head> <body link=#0000cc> <div id=wrapper> <div id=head> <div class=head_wrapper> <div class=s_form> <div class=s_form_wrapper> <div id=lg> <img hidefocus=true src=//www.baidu.com/img/bd_logo1.png width=270 height=129> div> <form id=form name=f action=//www.baidu.com/s class=fm> <input type=hidden name=bdorz_come value=1> <input type=hidden name=ie value=utf-8> <input type=hidden name=f value=8> <input type=hidden name=rsv_bp value=1> <input type=hidden name=rsv_idx value=1> <input type=hidden name=tn value=baidu><span class="bg s_ipt_wr"><input id=kw name=wd class=s_ipt value maxlength=255 autocomplete=off autofocus>span><span class="bg s_btn_wr"><input type=submit id=su value=百度一下 class="bg s_btn">span> form> div> div> <div id=u1> <a href=http://news.baidu.com name=tj_trnews class=mnav>新闻a> <a href=http://www.hao123.com name=tj_trhao123 class=mnav>hao123a> <a href=http://map.baidu.com name=tj_trmap class=mnav>地图a> <a href=http://v.baidu.com name=tj_trvideo class=mnav>视频a> <a href=http://tieba.baidu.com name=tj_trtieba class=mnav>贴吧a> <noscript> <a href=http://www.baidu.com/bdorz/login.gif?login&amp;tpl=mn&u=http%3A%2F%2Fwww.baidu.com%2f%3fbdorz_come%3d1 name=tj_login class=lb>登录a> noscript> <script>document.write('encodeURIComponent(window.location.href+ (window.location.search === "" ? "?" : "&")+ "bdorz_come=1")+ '" name="tj_login" class="lb">登录');script> <a href=//www.baidu.com/more/ name=tj_briicon class=bri style="display: block;">更多产品a> div> div> div> <div id=ftCon> <div id=ftConw> <p id=lh> <a href=http://home.baidu.com>关于百度a> <a href=http://ir.baidu.com>About Baidua> p> <p id=cp>©2016 Baidu <a href=http://www.baidu.com/duty/>使用百度前必读a<a href=http://jianyi.baidu.com/ class=cp-feedback>意见反馈a> 京ICP证030173号  <img src=//www.baidu.com/img/gs.gif> p> div> div> div> body> html>

# 只显示response信息
$ curl -I www.baidu.com
HTTP/1.1 200 OK
Server: bfe/1.0.8.18
Date: Wed, 02 Nov 2016 09:38:06 GMT
Content-Type: text/html
Content-Length: 277
Last-Modified: Mon, 13 Jun 2016 02:50:00 GMT
Connection: Keep-Alive
ETag: "575e1f58-115"
Cache-Control: private, no-cache, no-store, proxy-revalidate, no-transform
Pragma: no-cache
Accept-Ranges: bytes

备注:

  • HTTP/1.1 200 OK,响应状态行

  • HTTP/1.1,访问采用的协议为HTTP,版本为1.1

  • 200 OK,HTTP状态码,表示文档正确返回

  • Server,服务器应用程序软件的名称和版本

  • Date,服务器产生响应的日期

  • Content-Type,响应实体的主题是一个html文本

  • Content-Length,响应实体的主题包含了277字节的数据

  • Last-Modified,资源的最后修改日期时间

  • Connection,连接方式,close或keep-alive

  • ETag,资源的匹配信息

  • Cache-Control,控制缓存的行为

  • Pragma,报文指令

  • Accept-Ranges,是否接受字节范围请求

2.4 curl -v url/curl –trace filename url

# 命令形式:$ crul -v url,-v参数是显示http访问的整个过程,即整个通信过程,curl --trace filename url相比-v信息更详细,并且会将访问过程输出到一个文件中

$ curl -v www.baidu.com
* Rebuilt URL to: www.baidu.com/
*   Trying 61.135.169.121...
* Connected to www.baidu.com (61.135.169.121) port 80 (#0)
> GET / HTTP/1.1
> Host: www.baidu.com
> User-Agent: curl/7.43.0
> Accept: */*
> 
< HTTP/1.1 200 OK
< Server: bfe/1.0.8.18
< Date: Wed, 02 Nov 2016 10:08:13 GMT
< Content-Type: text/html
< Content-Length: 2381
< Last-Modified: Mon, 25 Jul 2016 11:11:30 GMT
< Connection: Keep-Alive
< ETag: "5795f3e2-94d"
< Cache-Control: private, no-cache, no-store, proxy-revalidate, no-transform
< Pragma: no-cache
< Set-Cookie: BDORZ=27315; max-age=86400; domain=.baidu.com; path=/
< Accept-Ranges: bytes
< 
DOCTYPE html>
<html> <head><meta http-equiv=content-type content=text/html;charset=utf-8><meta http-equiv=X-UA-Compatible content=IE=Edge><meta content=always name=referrer><link rel=stylesheet type=text/css href=http://s1.bdstatic.com/r/www/cache/bdorz/baidu.min.css><title>百度一下,你就知道title>head> <body link=#0000cc> <div id=wrapper> <div id=head> <div class=head_wrapper> <div class=s_form> <div class=s_form_wrapper> <div id=lg> <img hidefocus=true src=//www.baidu.com/img/bd_logo1.png width=270 height=129> div> <form id=form name=f action=//www.baidu.com/s class=fm> <input type=hidden name=bdorz_come value=1> <input type=hidden name=ie value=utf-8> <input type=hidden name=f value=8> <input type=hidden name=rsv_bp value=1> <input type=hidden name=rsv_idx value=1> <input type=hidden name=tn value=baidu><span class="bg s_ipt_wr"><input id=kw name=wd class=s_ipt value maxlength=255 autocomplete=off autofocus>span><span class="bg s_btn_wr"><input type=submit id=su value=百度一下 class="bg s_btn">span> form> div> div> <div id=u1> <a href=http://news.baidu.com name=tj_trnews class=mnav>新闻a> <a href=http://www.hao123.com name=tj_trhao123 class=mnav>hao123a> <a href=http://map.baidu.com name=tj_trmap class=mnav>地图a> <a href=http://v.baidu.com name=tj_trvideo class=mnav>视频a> <a href=http://tieba.baidu.com name=tj_trtieba class=mnav>贴吧a> <noscript> <a href=http://www.baidu.com/bdorz/login.gif?login&amp;tpl=mn&u=http%3A%2F%2Fwww.baidu.com%2f%3fbdorz_come%3d1 name=tj_login class=lb>登录a> noscript> <script>document.write('encodeURIComponent(window.location.href+ (window.location.search === "" ? "?" : "&")+ "bdorz_come=1")+ '" name="tj_login" class="lb">登录');script> <a href=//www.baidu.com/more/ name=tj_briicon class=bri style="display: block;">更多产品a> div> div> div> <div id=ftCon> <div id=ftConw> <p id=lh> <a href=http://home.baidu.com>关于百度a> <a href=http://ir.baidu.com>About Baidua> p> <p id=cp>©2016 Baidu <a href=http://www.baidu.com/duty/>使用百度前必读a<a href=http://jianyi.baidu.com/ class=cp-feedback>意见反馈a> 京ICP证030173号  <img src=//www.baidu.com/img/gs.gif> p> div> div> div> body> html>
* Connection #0 to host www.baidu.com left intact

# 访问百度,访问的详细信息输出到output.txt文件中
$ curl --trace output.txt www.baidu.com

<html> <head><meta http-equiv=content-type content=text/html;charset=utf-8><meta http-equiv=X-UA-Compatible content=IE=Edge><meta content=always name=referrer><link rel=stylesheet type=text/css href=http://s1.bdstatic.com/r/www/cache/bdorz/baidu.min.css><title>百度一下,你就知道title>head> <body link=#0000cc> <div id=wrapper> <div id=head> <div class=head_wrapper> <div class=s_form> <div class=s_form_wrapper> <div id=lg> <img hidefocus=true src=//www.baidu.com/img/bd_logo1.png width=270 height=129> div> <form id=form name=f action=//www.baidu.com/s class=fm> <input type=hidden name=bdorz_come value=1> <input type=hidden name=ie value=utf-8> <input type=hidden name=f value=8> <input type=hidden name=rsv_bp value=1> <input type=hidden name=rsv_idx value=1> <input type=hidden name=tn value=baidu><span class="bg s_ipt_wr"><input id=kw name=wd class=s_ipt value maxlength=255 autocomplete=off autofocus>span><span class="bg s_btn_wr"><input type=submit id=su value=百度一下 class="bg s_btn">span> form> div> div> <div id=u1> <a href=http://news.baidu.com name=tj_trnews class=mnav>新闻a> <a href=http://www.hao123.com name=tj_trhao123 class=mnav>hao123a> <a href=http://map.baidu.com name=tj_trmap class=mnav>地图a> <a href=http://v.baidu.com name=tj_trvideo class=mnav>视频a> <a href=http://tieba.baidu.com name=tj_trtieba class=mnav>贴吧a> <noscript> <a href=http://www.baidu.com/bdorz/login.gif?login&amp;tpl=mn&u=http%3A%2F%2Fwww.baidu.com%2f%3fbdorz_come%3d1 name=tj_login class=lb>登录a> noscript> <script>document.write('encodeURIComponent(window.location.href+ (window.location.search === "" ? "?" : "&")+ "bdorz_come=1")+ '" name="tj_login" class="lb">登录');script> <a href=//www.baidu.com/more/ name=tj_briicon class=bri style="display: block;">更多产品a> div> div> div> <div id=ftCon> <div id=ftConw> <p id=lh> <a href=http://home.baidu.com>关于百度a> <a href=http://ir.baidu.com>About Baidua> p> <p id=cp>©2016 Baidu <a href=http://www.baidu.com/duty/>使用百度前必读a<a href=http://jianyi.baidu.com/ class=cp-feedback>意见反馈a> 京ICP证030173号  <img src=//www.baidu.com/img/gs.gif> p> div> div> div> body> html>

2.5 curl –header “Content-Type:application/json” www.baidu.com

# 命令形式:curl --header "header content" url,--header主要是设置request请求的头部,Content-Type:application/json就是JS中ajax请求中的Content-Type:application/json

$ curl --header "Content-Type:application/json" www.baidu.com

<html> <head><meta http-equiv=content-type content=text/html;charset=utf-8><meta http-equiv=X-UA-Compatible content=IE=Edge><meta content=always name=referrer><link rel=stylesheet type=text/css href=http://s1.bdstatic.com/r/www/cache/bdorz/baidu.min.css><title>百度一下,你就知道title>head> <body link=#0000cc> <div id=wrapper> <div id=head> <div class=head_wrapper> <div class=s_form> <div class=s_form_wrapper> <div id=lg> <img hidefocus=true src=//www.baidu.com/img/bd_logo1.png width=270 height=129> div> <form id=form name=f action=//www.baidu.com/s class=fm> <input type=hidden name=bdorz_come value=1> <input type=hidden name=ie value=utf-8> <input type=hidden name=f value=8> <input type=hidden name=rsv_bp value=1> <input type=hidden name=rsv_idx value=1> <input type=hidden name=tn value=baidu><span class="bg s_ipt_wr"><input id=kw name=wd class=s_ipt value maxlength=255 autocomplete=off autofocus>span><span class="bg s_btn_wr"><input type=submit id=su value=百度一下 class="bg s_btn">span> form> div> div> <div id=u1> <a href=http://news.baidu.com name=tj_trnews class=mnav>新闻a> <a href=http://www.hao123.com name=tj_trhao123 class=mnav>hao123a> <a href=http://map.baidu.com name=tj_trmap class=mnav>地图a> <a href=http://v.baidu.com name=tj_trvideo class=mnav>视频a> <a href=http://tieba.baidu.com name=tj_trtieba class=mnav>贴吧a> <noscript> <a href=http://www.baidu.com/bdorz/login.gif?login&amp;tpl=mn&u=http%3A%2F%2Fwww.baidu.com%2f%3fbdorz_come%3d1 name=tj_login class=lb>登录a> noscript> <script>document.write('encodeURIComponent(window.location.href+ (window.location.search === "" ? "?" : "&")+ "bdorz_come=1")+ '" name="tj_login" class="lb">登录');script> <a href=//www.baidu.com/more/ name=tj_briicon class=bri style="display: block;">更多产品a> div> div> div> <div id=ftCon> <div id=ftConw> <p id=lh> <a href=http://home.baidu.com>关于百度a> <a href=http://ir.baidu.com>About Baidua> p> <p id=cp>©2016 Baidu <a href=http://www.baidu.com/duty/>使用百度前必读a<a href=http://jianyi.baidu.com/ class=cp-feedback>意见反馈a> 京ICP证030173号  <img src=//www.baidu.com/img/gs.gif> p> div> div> div> body> html>

2.6 curl -L url

# 命令形式:curl -L url,-L是对页面进行重定向,主要用在请求的页面移动到别的站点的情况下。默认情况下CURL不会发送HTTP Location headers(重定向)

# 访问新浪,内容就不展示了,太多了,可以自己试一下
$ curl -L www.sina.com

2.7 curl -C - -O url

# 命令形式:curl -C - -O url,-C -下载大文件时支持断点续传功能,-C后面要有一个整数,-C -/--continue-at命令等价

$ curl -C - -O http://www.gnu.org/software/gettext/manual/gettext.html
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100 1375k  100 1375k    0     0  13479      0  0:01:44  0:01:44 --:--:--  6633

2.8 curl url >> filename

# 命令形式:curl url >> filename,利用linux重定向功能将访问的内容输出到文件中

# 访问百度并将网页输出到baidu.html中,与curl -o baidu.html www.baidu.com等价
$ curl www.baidu.com >> baidu.html
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100  2381  100  2381    0     0   1512      0  0:00:01  0:00:01 --:--:--  1512

2.9 curl –limit-rate 1K url

命令形式:curl --limit-rate 1K url,限制访问网络速度到1K,可用G,M,K,B

# 以1K的网速访问百度
$ curl --limit-rate 1K www.baidu.com

<html> <head><meta http-equiv=content-type content=text/html;charset=utf-8><meta http-equiv=X-UA-Compatible content=IE=Edge><meta content=always name=referrer><link rel=stylesheet type=text/css href=http://s1.bdstatic.com/r/www/cache/bdorz/baidu.min.css><title>百度一下,你就知道title>head> <body link=#0000cc> <div id=wrapper> <div id=head> <div class=head_wrapper> <div class=s_form> <div class=s_form_wrapper> <div id=lg> <img hidefocus=true src=//www.baidu.com/img/bd_logo1.png width=270 height=129> div> <form id=form name=f action=//www.baidu.com/s class=fm> <input type=hidden name=bdorz_come value=1> <input type=hidden name=ie value=utf-8> <input type=hidden name=f value=8> <input type=hidden name=rsv_bp value=1> <input type=hidden name=rsv_idx value=1> <input type=hidden name=tn value=baidu><span class="bg s_ipt_wr"><input id=kw name=wd class=s_ipt value maxlength=255 autocomplete=off autofocus>span><span class="bg s_btn_wr"><input type=submit id=su value=百度一下 class="bg s_btn">span> form> div> div> <div id=u1> <a href=http://news.baidu.com name=tj_trnews class=mnav>新闻a> <a href=http://www.hao123.com name=tj_trhao123 class=mnav>hao123a> <a href=http://map.baidu.com name=tj_trmap class=mnav>地图a> <a href=http://v.baidu.com name=tj_trvideo class=mnav>视频a> <a href=http://tieba.baidu.com name=tj_trtieba class=mnav>贴吧a> <noscript> <a href=http://www.baidu.com/bdorz/login.gif?login&amp;tpl=mn&u=http%3A%2F%2Fwww.baidu.com%2f%3fbdorz_come%3d1 name=tj_login class=lb>登录a> noscript> <script>document.write('encodeURIComponent(window.location.href+ (window.location.search === "" ? "?" : "&")+ "bdorz_come=1")+ '" name="tj_login" class="lb">登录');script> <a href=//www.baidu.com/more/ name=tj_briicon class=bri style="display: block;">更多产品a> div> div> div> <div id=ftCon> <div id=ftConw> <p id=lh> <a href=http://home.baidu.com>关于百度a> <a href=http://ir.baidu.com>About Baidua> p> <p id=cp>©2016 Baidu <a href=http://www.baidu.com/duty/>使用百度前必读a<a href=http://jianyi.baidu.com/ class=cp-feedback>意见反馈a> 京ICP证030173号  <img src=//www.baidu.com/img/gs.gif> p> div> div> div> body> html>

2.10 curl -u username url/curl –user username:password url

# 命令形式:curl -u username url,用用户名访问页面,当页面访问需要授权时使用,或者直接使用curl --user username:password url访问,最好用第一种形式,防止密码泄露

# 用用户名访问百度
$ curl -u 24782*****@qq.com www.baidu.com
Enter host password for user '24782*****@qq.com':

<html> <head><meta http-equiv=content-type content=text/html;charset=utf-8><meta http-equiv=X-UA-Compatible content=IE=Edge><meta content=always name=referrer><link rel=stylesheet type=text/css href=http://s1.bdstatic.com/r/www/cache/bdorz/baidu.min.css><title>百度一下,你就知道title>head> <body link=#0000cc> <div id=wrapper> <div id=head> <div class=head_wrapper> <div class=s_form> <div class=s_form_wrapper> <div id=lg> <img hidefocus=true src=//www.baidu.com/img/bd_logo1.png width=270 height=129> div> <form id=form name=f action=//www.baidu.com/s class=fm> <input type=hidden name=bdorz_come value=1> <input type=hidden name=ie value=utf-8> <input type=hidden name=f value=8> <input type=hidden name=rsv_bp value=1> <input type=hidden name=rsv_idx value=1> <input type=hidden name=tn value=baidu><span class="bg s_ipt_wr"><input id=kw name=wd class=s_ipt value maxlength=255 autocomplete=off autofocus>span><span class="bg s_btn_wr"><input type=submit id=su value=百度一下 class="bg s_btn">span> form> div> div> <div id=u1> <a href=http://news.baidu.com name=tj_trnews class=mnav>新闻a> <a href=http://www.hao123.com name=tj_trhao123 class=mnav>hao123a> <a href=http://map.baidu.com name=tj_trmap class=mnav>地图a> <a href=http://v.baidu.com name=tj_trvideo class=mnav>视频a> <a href=http://tieba.baidu.com name=tj_trtieba class=mnav>贴吧a> <noscript> <a href=http://www.baidu.com/bdorz/login.gif?login&amp;tpl=mn&u=http%3A%2F%2Fwww.baidu.com%2f%3fbdorz_come%3d1 name=tj_login class=lb>登录a> noscript> <script>document.write('encodeURIComponent(window.location.href+ (window.location.search === "" ? "?" : "&")+ "bdorz_come=1")+ '" name="tj_login" class="lb">登录');script> <a href=//www.baidu.com/more/ name=tj_briicon class=bri style="display: block;">更多产品a> div> div> div> <div id=ftCon> <div id=ftConw> <p id=lh> <a href=http://home.baidu.com>关于百度a> <a href=http://ir.baidu.com>About Baidua> p> <p id=cp>©2016 Baidu <a href=http://www.baidu.com/duty/>使用百度前必读a<a href=http://jianyi.baidu.com/ class=cp-feedback>意见反馈a> 京ICP证030173号  <img src=//www.baidu.com/img/gs.gif> p> div> div> div> body> html>

# 用户名和密码访问百度
$ curl --user 24782*****@qq.com:****** www.baidu.com

<html> <head><meta http-equiv=content-type content=text/html;charset=utf-8><meta http-equiv=X-UA-Compatible content=IE=Edge><meta content=always name=referrer><link rel=stylesheet type=text/css href=http://s1.bdstatic.com/r/www/cache/bdorz/baidu.min.css><title>百度一下,你就知道title>head> <body link=#0000cc> <div id=wrapper> <div id=head> <div class=head_wrapper> <div class=s_form> <div class=s_form_wrapper> <div id=lg> <img hidefocus=true src=//www.baidu.com/img/bd_logo1.png width=270 height=129> div> <form id=form name=f action=//www.baidu.com/s class=fm> <input type=hidden name=bdorz_come value=1> <input type=hidden name=ie value=utf-8> <input type=hidden name=f value=8> <input type=hidden name=rsv_bp value=1> <input type=hidden name=rsv_idx value=1> <input type=hidden name=tn value=baidu><span class="bg s_ipt_wr"><input id=kw name=wd class=s_ipt value maxlength=255 autocomplete=off autofocus>span><span class="bg s_btn_wr"><input type=submit id=su value=百度一下 class="bg s_btn">span> form> div> div> <div id=u1> <a href=http://news.baidu.com name=tj_trnews class=mnav>新闻a> <a href=http://www.hao123.com name=tj_trhao123 class=mnav>hao123a> <a href=http://map.baidu.com name=tj_trmap class=mnav>地图a> <a href=http://v.baidu.com name=tj_trvideo class=mnav>视频a> <a href=http://tieba.baidu.com name=tj_trtieba class=mnav>贴吧a> <noscript> <a href=http://www.baidu.com/bdorz/login.gif?login&amp;tpl=mn&u=http%3A%2F%2Fwww.baidu.com%2f%3fbdorz_come%3d1 name=tj_login class=lb>登录a> noscript> <script>document.write('encodeURIComponent(window.location.href+ (window.location.search === "" ? "?" : "&")+ "bdorz_come=1")+ '" name="tj_login" class="lb">登录');script> <a href=//www.baidu.com/more/ name=tj_briicon class=bri style="display: block;">更多产品a> div> div> div> <div id=ftCon> <div id=ftConw> <p id=lh> <a href=http://home.baidu.com>关于百度a> <a href=http://ir.baidu.com>About Baidua> p> <p id=cp>©2016 Baidu <a href=http://www.baidu.com/duty/>使用百度前必读a<a href=http://jianyi.baidu.com/ class=cp-feedback>意见反馈a> 京ICP证030173号  <img src=//www.baidu.com/img/gs.gif> p> div> div> div> body> html>

2.11 curl -z date url

# 命令形式:curl -z date url,date指定时间,在date之后文件更新过之后才会下载,可以与response的last-modified联系到一起,工作中会用到,当要更新数据时,先查看last-modified

# 正常访问http://www.example.com/yy.html
$ curl http://www.example.com/yy.html

<html>
<head>
    <title>Example Domaintitle>

    <meta charset="utf-8" />
    <meta http-equiv="Content-type" content="text/html; charset=utf-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1" />
    <style type="text/css">
    body {
        background-color: #f0f0f2;
        margin: 0;
        padding: 0;
        font-family: "Open Sans", "Helvetica Neue", Helvetica, Arial, sans-serif;

    }
    div {
        width: 600px;
        margin: 5em auto;
        padding: 50px;
        background-color: #fff;
        border-radius: 1em;
    }
    a:link, a:visited {
        color: #38488f;
        text-decoration: none;
    }
    @media (max-width: 700px) {
        body {
            background-color: #fff;
        }
        div {
            width: auto;
            margin: 0 auto;
            border-radius: 0;
            padding: 1em;
        }
    }
    style>    
head>

<body>
<div>
    <h1>Example Domainh1>
    <p>This domain is established to be used for illustrative examples in documents. You may use this
    domain in examples without prior coordination or asking for permission.p>
    <p><a href="http://www.iana.org/domains/example">More information...a>p>
div>
body>
html>

# 查看网页的last-modified
$ curl -I http://www.example.com/yy.html
HTTP/1.1 404 Not Found
Accept-Ranges: bytes
Cache-Control: max-age=604800
Content-Type: text/html
Date: Wed, 02 Nov 2016 14:41:48 GMT
Etag: "359670651+gzip"
Expires: Wed, 09 Nov 2016 14:41:48 GMT
Last-Modified: Fri, 09 Aug 2013 23:54:35 GMT
Server: ECS (cpm/F9B3)
X-Cache: HIT
x-ec-custom-error: 1
Content-Length: 1270

# 指定时间为2016年6月18日,在那之后页面有更新才会访问
$ curl -z 18-Jun-16 http://www.example.com/yy.html
$ 

2.12 curl -x proxyip:port url

# 命令形式:curl -x proxyip:port url,代理服务器如果是买的,需要输入用户名和密码

# 用代理访问百度,需要用户名和密码
$ curl -u -x 138.128.***.***:8*** www.baidu.com
Enter host password for user '-x':
curl: (52) Empty reply from server

<html> <head><meta http-equiv=content-type content=text/html;charset=utf-8><meta http-equiv=X-UA-Compatible content=IE=Edge><meta content=always name=referrer><link rel=stylesheet type=text/css href=http://s1.bdstatic.com/r/www/cache/bdorz/baidu.min.css><title>百度一下,你就知道title>head> <body link=#0000cc> <div id=wrapper> <div id=head> <div class=head_wrapper> <div class=s_form> <div class=s_form_wrapper> <div id=lg> <img hidefocus=true src=//www.baidu.com/img/bd_logo1.png width=270 height=129> div> <form id=form name=f action=//www.baidu.com/s class=fm> <input type=hidden name=bdorz_come value=1> <input type=hidden name=ie value=utf-8> <input type=hidden name=f value=8> <input type=hidden name=rsv_bp value=1> <input type=hidden name=rsv_idx value=1> <input type=hidden name=tn value=baidu><span class="bg s_ipt_wr"><input id=kw name=wd class=s_ipt value maxlength=255 autocomplete=off autofocus>span><span class="bg s_btn_wr"><input type=submit id=su value=百度一下 class="bg s_btn">span> form> div> div> <div id=u1> <a href=http://news.baidu.com name=tj_trnews class=mnav>新闻a> <a href=http://www.hao123.com name=tj_trhao123 class=mnav>hao123a> <a href=http://map.baidu.com name=tj_trmap class=mnav>地图a> <a href=http://v.baidu.com name=tj_trvideo class=mnav>视频a> <a href=http://tieba.baidu.com name=tj_trtieba class=mnav>贴吧a> <noscript> <a href=http://www.baidu.com/bdorz/login.gif?login&amp;tpl=mn&u=http%3A%2F%2Fwww.baidu.com%2f%3fbdorz_come%3d1 name=tj_login class=lb>登录a> noscript> <script>document.write('encodeURIComponent(window.location.href+ (window.location.search === "" ? "?" : "&")+ "bdorz_come=1")+ '" name="tj_login" class="lb">登录');script> <a href=//www.baidu.com/more/ name=tj_briicon class=bri style="display: block;">更多产品a> div> div> div> <div id=ftCon> <div id=ftConw> <p id=lh> <a href=http://home.baidu.com>关于百度a> <a href=http://ir.baidu.com>About Baidua> p> <p id=cp>©2016 Baidu <a href=http://www.baidu.com/duty/>使用百度前必读a<a href=http://jianyi.baidu.com/ class=cp-feedback>意见反馈a> 京ICP证030173号  <img src=//www.baidu.com/img/gs.gif> p> div> div> div> body> html>

2.13 curl -D/-b/-c filename url

# 命令形式:url -D filename url,-D是将header信息(包括cookie)保存到文件中, -b是使用上次保存的Cookie信息,从文件中读取Cookie,也可指定Cookie文本,-c是接收Cookie并保存

# 访问百度并将header信息保存到test中
$ curl -D test www.baidu.com

<html> <head><meta http-equiv=content-type content=text/html;charset=utf-8><meta http-equiv=X-UA-Compatible content=IE=Edge><meta content=always name=referrer><link rel=stylesheet type=text/css href=http://s1.bdstatic.com/r/www/cache/bdorz/baidu.min.css><title>百度一下,你就知道title>head> <body link=#0000cc> <div id=wrapper> <div id=head> <div class=head_wrapper> <div class=s_form> <div class=s_form_wrapper> <div id=lg> <img hidefocus=true src=//www.baidu.com/img/bd_logo1.png width=270 height=129> div> <form id=form name=f action=//www.baidu.com/s class=fm> <input type=hidden name=bdorz_come value=1> <input type=hidden name=ie value=utf-8> <input type=hidden name=f value=8> <input type=hidden name=rsv_bp value=1> <input type=hidden name=rsv_idx value=1> <input type=hidden name=tn value=baidu><span class="bg s_ipt_wr"><input id=kw name=wd class=s_ipt value maxlength=255 autocomplete=off autofocus>span><span class="bg s_btn_wr"><input type=submit id=su value=百度一下 class="bg s_btn">span> form> div> div> <div id=u1> <a href=http://news.baidu.com name=tj_trnews class=mnav>新闻a> <a href=http://www.hao123.com name=tj_trhao123 class=mnav>hao123a> <a href=http://map.baidu.com name=tj_trmap class=mnav>地图a> <a href=http://v.baidu.com name=tj_trvideo class=mnav>视频a> <a href=http://tieba.baidu.com name=tj_trtieba class=mnav>贴吧a> <noscript> <a href=http://www.baidu.com/bdorz/login.gif?login&amp;tpl=mn&u=http%3A%2F%2Fwww.baidu.com%2f%3fbdorz_come%3d1 name=tj_login class=lb>登录a> noscript> <script>document.write('encodeURIComponent(window.location.href+ (window.location.search === "" ? "?" : "&")+ "bdorz_come=1")+ '" name="tj_login" class="lb">登录');script> <a href=//www.baidu.com/more/ name=tj_briicon class=bri style="display: block;">更多产品a> div> div> div> <div id=ftCon> <div id=ftConw> <p id=lh> <a href=http://home.baidu.com>关于百度a> <a href=http://ir.baidu.com>About Baidua> p> <p id=cp>©2016 Baidu <a href=http://www.baidu.com/duty/>使用百度前必读a<a href=http://jianyi.baidu.com/ class=cp-feedback>意见反馈a> 京ICP证030173号  <img src=//www.baidu.com/img/gs.gif> p> div> div> div> body> html>

# test文件内容
HTTP/1.1 200 OK
Server: bfe/1.0.8.18
Date: Wed, 02 Nov 2016 15:08:31 GMT
Content-Type: text/html
Content-Length: 2381
Last-Modified: Mon, 25 Jul 2016 11:11:41 GMT
Connection: Keep-Alive
ETag: "5795f3ed-94d"
Cache-Control: private, no-cache, no-store, proxy-revalidate, no-transform
Pragma: no-cache
Set-Cookie: BDORZ=27315; max-age=86400; domain=.baidu.com; path=/
Accept-Ranges: bytes

# 访问百度将Cookie信息保存到test中
$ curl -c test www.baidu.com

<html> <head><meta http-equiv=content-type content=text/html;charset=utf-8><meta http-equiv=X-UA-Compatible content=IE=Edge><meta content=always name=referrer><link rel=stylesheet type=text/css href=http://s1.bdstatic.com/r/www/cache/bdorz/baidu.min.css><title>百度一下,你就知道title>head> <body link=#0000cc> <div id=wrapper> <div id=head> <div class=head_wrapper> <div class=s_form> <div class=s_form_wrapper> <div id=lg> <img hidefocus=true src=//www.baidu.com/img/bd_logo1.png width=270 height=129> div> <form id=form name=f action=//www.baidu.com/s class=fm> <input type=hidden name=bdorz_come value=1> <input type=hidden name=ie value=utf-8> <input type=hidden name=f value=8> <input type=hidden name=rsv_bp value=1> <input type=hidden name=rsv_idx value=1> <input type=hidden name=tn value=baidu><span class="bg s_ipt_wr"><input id=kw name=wd class=s_ipt value maxlength=255 autocomplete=off autofocus>span><span class="bg s_btn_wr"><input type=submit id=su value=百度一下 class="bg s_btn">span> form> div> div> <div id=u1> <a href=http://news.baidu.com name=tj_trnews class=mnav>新闻a> <a href=http://www.hao123.com name=tj_trhao123 class=mnav>hao123a> <a href=http://map.baidu.com name=tj_trmap class=mnav>地图a> <a href=http://v.baidu.com name=tj_trvideo class=mnav>视频a> <a href=http://tieba.baidu.com name=tj_trtieba class=mnav>贴吧a> <noscript> <a href=http://www.baidu.com/bdorz/login.gif?login&amp;tpl=mn&u=http%3A%2F%2Fwww.baidu.com%2f%3fbdorz_come%3d1 name=tj_login class=lb>登录a> noscript> <script>document.write('encodeURIComponent(window.location.href+ (window.location.search === "" ? "?" : "&")+ "bdorz_come=1")+ '" name="tj_login" class="lb">登录');script> <a href=//www.baidu.com/more/ name=tj_briicon class=bri style="display: block;">更多产品a> div> div> div> <div id=ftCon> <div id=ftConw> <p id=lh> <a href=http://home.baidu.com>关于百度a> <a href=http://ir.baidu.com>About Baidua> p> <p id=cp>©2016 Baidu <a href=http://www.baidu.com/duty/>使用百度前必读a<a href=http://jianyi.baidu.com/ class=cp-feedback>意见反馈a> 京ICP证030173号  <img src=//www.baidu.com/img/gs.gif> p> div> div> div> body> html>


# 使用保存的Cookie信息test访问百度
$ curl -b test www.baidu.com

<html> <head><meta http-equiv=content-type content=text/html;charset=utf-8><meta http-equiv=X-UA-Compatible content=IE=Edge><meta content=always name=referrer><link rel=stylesheet type=text/css href=http://s1.bdstatic.com/r/www/cache/bdorz/baidu.min.css><title>百度一下,你就知道title>head> <body link=#0000cc> <div id=wrapper> <div id=head> <div class=head_wrapper> <div class=s_form> <div class=s_form_wrapper> <div id=lg> <img hidefocus=true src=//www.baidu.com/img/bd_logo1.png width=270 height=129> div> <form id=form name=f action=//www.baidu.com/s class=fm> <input type=hidden name=bdorz_come value=1> <input type=hidden name=ie value=utf-8> <input type=hidden name=f value=8> <input type=hidden name=rsv_bp value=1> <input type=hidden name=rsv_idx value=1> <input type=hidden name=tn value=baidu><span class="bg s_ipt_wr"><input id=kw name=wd class=s_ipt value maxlength=255 autocomplete=off autofocus>span><span class="bg s_btn_wr"><input type=submit id=su value=百度一下 class="bg s_btn">span> form> div> div> <div id=u1> <a href=http://news.baidu.com name=tj_trnews class=mnav>新闻a> <a href=http://www.hao123.com name=tj_trhao123 class=mnav>hao123a> <a href=http://map.baidu.com name=tj_trmap class=mnav>地图a> <a href=http://v.baidu.com name=tj_trvideo class=mnav>视频a> <a href=http://tieba.baidu.com name=tj_trtieba class=mnav>贴吧a> <noscript> <a href=http://www.baidu.com/bdorz/login.gif?login&amp;tpl=mn&u=http%3A%2F%2Fwww.baidu.com%2f%3fbdorz_come%3d1 name=tj_login class=lb>登录a> noscript> <script>document.write('encodeURIComponent(window.location.href+ (window.location.search === "" ? "?" : "&")+ "bdorz_come=1")+ '" name="tj_login" class="lb">登录');script> <a href=//www.baidu.com/more/ name=tj_briicon class=bri style="display: block;">更多产品a> div> div> div> <div id=ftCon> <div id=ftConw> <p id=lh> <a href=http://home.baidu.com>关于百度a> <a href=http://ir.baidu.com>About Baidua> p> <p id=cp>©2016 Baidu <a href=http://www.baidu.com/duty/>使用百度前必读a<a href=http://jianyi.baidu.com/ class=cp-feedback>意见反馈a> 京ICP证030173号  <img src=//www.baidu.com/img/gs.gif> p> div> div> div> body> html>

# 使用Cookie文本访问百度
$ curl -b "name=test;pwd=test;" www.baidu.com

<html> <head><meta http-equiv=content-type content=text/html;charset=utf-8><meta http-equiv=X-UA-Compatible content=IE=Edge><meta content=always name=referrer><link rel=stylesheet type=text/css href=http://s1.bdstatic.com/r/www/cache/bdorz/baidu.min.css><title>百度一下,你就知道title>head> <body link=#0000cc> <div id=wrapper> <div id=head> <div class=head_wrapper> <div class=s_form> <div class=s_form_wrapper> <div id=lg> <img hidefocus=true src=//www.baidu.com/img/bd_logo1.png width=270 height=129> div> <form id=form name=f action=//www.baidu.com/s class=fm> <input type=hidden name=bdorz_come value=1> <input type=hidden name=ie value=utf-8> <input type=hidden name=f value=8> <input type=hidden name=rsv_bp value=1> <input type=hidden name=rsv_idx value=1> <input type=hidden name=tn value=baidu><span class="bg s_ipt_wr"><input id=kw name=wd class=s_ipt value maxlength=255 autocomplete=off autofocus>span><span class="bg s_btn_wr"><input type=submit id=su value=百度一下 class="bg s_btn">span> form> div> div> <div id=u1> <a href=http://news.baidu.com name=tj_trnews class=mnav>新闻a> <a href=http://www.hao123.com name=tj_trhao123 class=mnav>hao123a> <a href=http://map.baidu.com name=tj_trmap class=mnav>地图a> <a href=http://v.baidu.com name=tj_trvideo class=mnav>视频a> <a href=http://tieba.baidu.com name=tj_trtieba class=mnav>贴吧a> <noscript> <a href=http://www.baidu.com/bdorz/login.gif?login&amp;tpl=mn&u=http%3A%2F%2Fwww.baidu.com%2f%3fbdorz_come%3d1 name=tj_login class=lb>登录a> noscript> <script>document.write('encodeURIComponent(window.location.href+ (window.location.search === "" ? "?" : "&")+ "bdorz_come=1")+ '" name="tj_login" class="lb">登录');script> <a href=//www.baidu.com/more/ name=tj_briicon class=bri style="display: block;">更多产品a> div> div> div> <div id=ftCon> <div id=ftConw> <p id=lh> <a href=http://home.baidu.com>关于百度a> <a href=http://ir.baidu.com>About Baidua> p> <p id=cp>©2016 Baidu <a href=http://www.baidu.com/duty/>使用百度前必读a<a href=http://jianyi.baidu.com/ class=cp-feedback>意见反馈a> 京ICP证030173号  <img src=//www.baidu.com/img/gs.gif> p> div> div> div> body> html>

2.14 curl -G -d “text” url

# 命令形式:curl -G -d "text" url,-G是以GET方式访问,-d "test"是指定GET的请求数据

# 以Get方式提交数据并访问百度,可以用来测试API
$ curl -G -d "name=test" www.baidu.com

<html> <head><meta http-equiv=content-type content=text/html;charset=utf-8><meta http-equiv=X-UA-Compatible content=IE=Edge><meta content=always name=referrer><link rel=stylesheet type=text/css href=http://s1.bdstatic.com/r/www/cache/bdorz/baidu.min.css><title>百度一下,你就知道title>head> <body link=#0000cc> <div id=wrapper> <div id=head> <div class=head_wrapper> <div class=s_form> <div class=s_form_wrapper> <div id=lg> <img hidefocus=true src=//www.baidu.com/img/bd_logo1.png width=270 height=129> div> <form id=form name=f action=//www.baidu.com/s class=fm> <input type=hidden name=bdorz_come value=1> <input type=hidden name=ie value=utf-8> <input type=hidden name=f value=8> <input type=hidden name=rsv_bp value=1> <input type=hidden name=rsv_idx value=1> <input type=hidden name=tn value=baidu><span class="bg s_ipt_wr"><input id=kw name=wd class=s_ipt value maxlength=255 autocomplete=off autofocus>span><span class="bg s_btn_wr"><input type=submit id=su value=百度一下 class="bg s_btn">span> form> div> div> <div id=u1> <a href=http://news.baidu.com name=tj_trnews class=mnav>新闻a> <a href=http://www.hao123.com name=tj_trhao123 class=mnav>hao123a> <a href=http://map.baidu.com name=tj_trmap class=mnav>地图a> <a href=http://v.baidu.com name=tj_trvideo class=mnav>视频a> <a href=http://tieba.baidu.com name=tj_trtieba class=mnav>贴吧a> <noscript> <a href=http://www.baidu.com/bdorz/login.gif?login&amp;tpl=mn&u=http%3A%2F%2Fwww.baidu.com%2f%3fbdorz_come%3d1 name=tj_login class=lb>登录a> noscript> <script>document.write('encodeURIComponent(window.location.href+ (window.location.search === "" ? "?" : "&")+ "bdorz_come=1")+ '" name="tj_login" class="lb">登录');script> <a href=//www.baidu.com/more/ name=tj_briicon class=bri style="display: block;">更多产品a> div> div> div> <div id=ftCon> <div id=ftConw> <p id=lh> <a href=http://home.baidu.com>关于百度a> <a href=http://ir.baidu.com>About Baidua> p> <p id=cp>©2016 Baidu <a href=http://www.baidu.com/duty/>使用百度前必读a<a href=http://jianyi.baidu.com/ class=cp-feedback>意见反馈a> 京ICP证030173号  <img src=//www.baidu.com/img/gs.gif> p> div> div> div> body> html>

2.15 curl -# url

# 命令形式:curl -# url,-#表示访问时以进度条形式显示,常用在下载中

# 下载图片并显示进度条
$ curl -# -O http://ocs628urt.bkt.clouddn.com/table_1.1.png
######################################################################## 100.0%

2.16 curl -A/–user-agent “text” url

# 命令形式:curl -A/--user-agent "text" url,-A/--user-agent "text"指定了访问者的设备信息,包括系统、CPU、浏览器版本等等。可以隐藏真正的设备信息

# 指定访问设备信息来访问百度
$ curl -A "Mozilla/4.0 (compatible; MSIE 10.0; Windows NT 5.0)"  www.baidu.com
<html>
<head><title>302 Foundtitle>head>
<body bgcolor="white">
<center><h1>302 Foundh1>center>
<hr><center>pr-nginx_1-0-304_BRANCH Branch
Time : Tue Oct 18 14:33:14 CST 2016center>
body>
html>

2.17 curl -e/–referer url1 url2

# 命令形式:curl -e/--referer url1 url2,-e/--referer表明是从url1跳转访问url2的

# 从example.com跳转访问百度
$ curl --referer example.com www.baidu.com

<html> <head><meta http-equiv=content-type content=text/html;charset=utf-8><meta http-equiv=X-UA-Compatible content=IE=Edge><meta content=always name=referrer><link rel=stylesheet type=text/css href=http://s1.bdstatic.com/r/www/cache/bdorz/baidu.min.css><title>百度一下,你就知道title>head> <body link=#0000cc> <div id=wrapper> <div id=head> <div class=head_wrapper> <div class=s_form> <div class=s_form_wrapper> <div id=lg> <img hidefocus=true src=//www.baidu.com/img/bd_logo1.png width=270 height=129> div> <form id=form name=f action=//www.baidu.com/s class=fm> <input type=hidden name=bdorz_come value=1> <input type=hidden name=ie value=utf-8> <input type=hidden name=f value=8> <input type=hidden name=rsv_bp value=1> <input type=hidden name=rsv_idx value=1> <input type=hidden name=tn value=baidu><span class="bg s_ipt_wr"><input id=kw name=wd class=s_ipt value maxlength=255 autocomplete=off autofocus>span><span class="bg s_btn_wr"><input type=submit id=su value=百度一下 class="bg s_btn">span> form> div> div> <div id=u1> <a href=http://news.baidu.com name=tj_trnews class=mnav>新闻a> <a href=http://www.hao123.com name=tj_trhao123 class=mnav>hao123a> <a href=http://map.baidu.com name=tj_trmap class=mnav>地图a> <a href=http://v.baidu.com name=tj_trvideo class=mnav>视频a> <a href=http://tieba.baidu.com name=tj_trtieba class=mnav>贴吧a> <noscript> <a href=http://www.baidu.com/bdorz/login.gif?login&amp;tpl=mn&u=http%3A%2F%2Fwww.baidu.com%2f%3fbdorz_come%3d1 name=tj_login class=lb>登录a> noscript> <script>document.write('encodeURIComponent(window.location.href+ (window.location.search === "" ? "?" : "&")+ "bdorz_come=1")+ '" name="tj_login" class="lb">登录');script> <a href=//www.baidu.com/more/ name=tj_briicon class=bri style="display: block;">更多产品a> div> div> div> <div id=ftCon> <div id=ftConw> <p id=lh> <a href=http://home.baidu.com>关于百度a> <a href=http://ir.baidu.com>About Baidua> p> <p id=cp>©2016 Baidu <a href=http://www.baidu.com/duty/>使用百度前必读a<a href=http://jianyi.baidu.com/ class=cp-feedback>意见反馈a> 京ICP证030173号  <img src=//www.baidu.com/img/gs.gif> p> div> div> div> body> html>

2.18 curl -X POST url

# 命令形式:curl -X POST url,-X POST,指定其它形式访问url,curl默认使用的HTTP的GET方法,-X可以指定其它方法,例如POST,DELETE,PUT等,使用POST时可以使用-d "text"来指定POST的数据

# 以POST方式访问example.com
$ curl -X POST example.com


<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
    <head>
        <title>411 - Length Requiredtitle>
    head>
    <body>
        <h1>411 - Length Requiredh1>
    body>
html>

# 以POST+Data的方式访问example.com
$ curl -X POST -d "name=test" example.com

<html>
<head>
    <title>Example Domaintitle>

    <meta charset="utf-8" />
    <meta http-equiv="Content-type" content="text/html; charset=utf-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1" />
    <style type="text/css">
    body {
        background-color: #f0f0f2;
        margin: 0;
        padding: 0;
        font-family: "Open Sans", "Helvetica Neue", Helvetica, Arial, sans-serif;

    }
    div {
        width: 600px;
        margin: 5em auto;
        padding: 50px;
        background-color: #fff;
        border-radius: 1em;
    }
    a:link, a:visited {
        color: #38488f;
        text-decoration: none;
    }
    @media (max-width: 700px) {
        body {
            background-color: #fff;
        }
        div {
            width: auto;
            margin: 0 auto;
            border-radius: 0;
            padding: 1em;
        }
    }
    style>    
head>

<body>
<div>
    <h1>Example Domainh1>
    <p>This domain is established to be used for illustrative examples in documents. You may use this
    domain in examples without prior coordination or asking for permission.p>
    <p><a href="http://www.iana.org/domains/example">More information...a>p>
div>
body>
html>

3. 总结

CURL的命令参数还有很多,就不一一演示了。下面是CURL的参数及功能列表:

-a/--append 上传文件时,附加到目标文件  
 -A/--user-agent   设置用户代理发送给服务器  
 - anyauth   可以使用“任何”身份验证方法  
 -b/--cookie  cookie字符串或文件读取位置  
 - basic 使用HTTP基本验证  
 -B/--use-ascii 使用ASCII /文本传输  
 -c/--cookie-jar  操作结束后把cookie写入到这个文件中  
 -C/--continue-at   断点续转  
 -d/--data    HTTP POST方式传送数据  
 --data-ascii   以ascii的方式post数据  
 --data-binary  以二进制的方式post数据  
 --negotiate     使用HTTP身份验证  
 --digest        使用数字身份验证  
 --disable-eprt  禁止使用EPRTLPRT  
 --disable-epsv  禁止使用EPSV  
 -D/--dump-header  把header信息写入到该文件中  
 --egd-file  为随机数据(SSL)设置EGD socket路径  
 --tcp-nodelay   使用TCP_NODELAY选项  
 -e/--referer 来源网址  
 -E/--cert :passwd]> 客户端证书文件和密码 (SSL)  
 --cert-type  证书文件类型 (DER/PEM/ENG) (SSL)  
 --key      私钥文件名 (SSL)  
 --key-type  私钥文件类型 (DER/PEM/ENG) (SSL)  
 --pass    私钥密码 (SSL)  
 --engine   加密引擎使用 (SSL). "--engine list" for list  
 --cacert  CA证书 (SSL)  
 --capath  CA目录 (made using c_rehash) to verify peer against (SSL)  
 --ciphers   SSL密码  
 --compressed    要求返回是压缩的形势 (using deflate or gzip)  
 --connect-timeout  设置最大请求时间  
 --create-dirs   建立本地目录的目录层次结构  
 --crlf          上传是把LF转变成CRLF  
 -f/--fail          连接失败时不显示http错误  
 --ftp-create-dirs 如果远程目录不存在,创建远程目录  
 --ftp-method [multicwd/nocwd/singlecwd] 控制CWD的使用  
 --ftp-pasv      使用 PASV/EPSV 代替端口  
 --ftp-skip-pasv-ip 使用PASV的时候,忽略该IP地址  
 --ftp-ssl       尝试用 SSL/TLS 来进行ftp数据传输  
 --ftp-ssl-reqd  要求用 SSL/TLS 来进行ftp数据传输  
 -F/--form  模拟http表单提交数据  
 -form-string  模拟http表单提交数据  
 -g/--globoff 禁用网址序列和范围使用{}和[]  
 -G/--get 以get的方式来发送数据  
 -h/--help 帮助  
 -H/--header 自定义头信息传递给服务器  
 --ignore-content-length  忽略的HTTP头信息的长度  
 -i/--include 输出时包括protocol头信息  
 -I/--head  只显示文档信息  
 从文件中读取-j/--junk-session-cookies忽略会话Cookie  
 - 界面指定网络接口/地址使用  
 - krb4 <级别>启用与指定的安全级别krb4  
 -j/--junk-session-cookies 读取文件进忽略session cookie  
 --interface  使用指定网络接口/地址  
 --krb4   使用指定安全级别的krb4  
 -k/--insecure 允许不使用证书到SSL站点  
 -K/--config  指定的配置文件读取  
 -l/--list-only 列出ftp目录下的文件名称  
 --limit-rate  设置传输速度  
 --local-port<NUM> 强制使用本地端口号  
 -m/--max-time  设置最大传输时间  
 --max-redirs  设置最大读取的目录数  
 --max-filesize  设置最大下载的文件总量  
 -M/--manual  显示全手动  
 -n/--netrc 从netrc文件中读取用户名和密码  
 --netrc-optional 使用 .netrc 或者 URL来覆盖-n  
 --ntlm          使用 HTTP NTLM 身份验证  
 -N/--no-buffer 禁用缓冲输出  
 -o/--output 把输出写到该文件中  
 -O/--remote-name 把输出写到该文件中,保留远程文件的文件名  
 -p/--proxytunnel   使用HTTP代理  
 --proxy-anyauth 选择任一代理身份验证方法  
 --proxy-basic   在代理上使用基本身份验证  
 --proxy-digest  在代理上使用数字身份验证  
 --proxy-ntlm    在代理上使用ntlm身份验证  
 -P/--ftp-port 
使用端口地址,而不是使用PASV -Q/--quote 文件传输前,发送命令到服务器 -r/--range 检索来自HTTP/1.1FTP服务器字节范围 --range-file 读取(SSL)的随机文件 -R/--remote-time 在本地生成文件时,保留远程文件时间 --retry 传输出现问题时,重试的次数 --retry-delay 传输出现问题时,设置重试间隔时间 --retry-max-time 传输出现问题时,设置最大重试时间 -s/--silent静音模式。不输出任何东西 -S/--show-error 显示错误 --socks4 :port]> 用socks4代理给定主机和端口 --socks5 :port]> 用socks5代理给定主机和端口 --stderr -t/--telnet-option <OPT=val> Telnet选项设置 --trace 对指定文件进行debug --trace-ascii Like --跟踪但没有hex输出 --trace-time 跟踪/详细输出时,添加时间戳 -T/--upload-file 上传文件 --url <URL> Spet URL to work with -u/--user :password]>设置服务器的用户和密码 -U/--proxy-user :password]>设置代理用户名和密码 -v/--verbose -V/--version 显示版本信息 -w/--write-out [format]什么输出完成后 -x/--proxy :port]>在给定的端口上使用HTTP代理 -X/--request 指定什么命令 -y/--speed-time 放弃限速所要的时间。默认为30 -Y/--speed-limit 停止传输速度的限制,速度时间'秒 -z/--time-cond 传送时间设置 -0/--http1.0 使用HTTP 1.0 -1/--tlsv1 使用TLSv1SSL -2/--sslv2 使用SSLv2的(SSL -3/--sslv3 使用的SSLv3SSL --3p-quote like -Q for the source URL for 3rd party transfer --3p-url 使用url,进行第三方传送 --3p-user 使用用户名和密码,进行第三方传送 -4/--ipv4 使用IP4 -6/--ipv6 使用IP6 -#/--progress-bar 用进度条显示当前的传送状态

参考文献:

  1. https://curl.haxx.se/

  2. http://www.ruanyifeng.com/blog/2011/09/curl.html

  3. http://www.cnblogs.com/gbyukg/p/3326825.html

  4. http://blog.csdn.net/wangjunji34478/article/details/35988223

  5. http://blog.51yip.com/linux/1049.html

你可能感兴趣的:(Linux,Linux命令大全)