文章作者:Tyan
博客:noahsnail.com | CSDN | 简书
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命令非常强大。
# 命令形式:$ 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&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 -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
# 命令形式:$ 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&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,是否接受字节范围请求
# 命令形式:$ 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&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&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 --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&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 -L url,-L是对页面进行重定向,主要用在请求的页面移动到别的站点的情况下。默认情况下CURL不会发送HTTP Location headers(重定向)
# 访问新浪,内容就不展示了,太多了,可以自己试一下
$ curl -L www.sina.com
# 命令形式: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
# 命令形式: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
命令形式: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&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 -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&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&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 -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
$
# 命令形式: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&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>
# 命令形式: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&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&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&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&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 -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&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 -# url,-#表示访问时以进度条形式显示,常用在下载中
# 下载图片并显示进度条
$ curl -# -O http://ocs628urt.bkt.clouddn.com/table_1.1.png
######################################################################## 100.0%
# 命令形式: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>
# 命令形式: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&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 -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>
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 禁止使用EPRT或LPRT
--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.1或FTP服务器字节范围
--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 使用TLSv1(SSL)
-2/--sslv2 使用SSLv2的(SSL)
-3/--sslv3 使用的SSLv3(SSL)
--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 用进度条显示当前的传送状态
参考文献:
https://curl.haxx.se/
http://www.ruanyifeng.com/blog/2011/09/curl.html
http://www.cnblogs.com/gbyukg/p/3326825.html
http://blog.csdn.net/wangjunji34478/article/details/35988223
http://blog.51yip.com/linux/1049.html