curl命令
curl是一个利用URL规则在命令行下工作的文件传输工具,可以说是一款很强大的HTTP命令行工具。它支持文件的上传和下载,是综合传输工具,但按传统,习惯称url为下载工具。(注:我常用的是检测ip的对应端口是否能正常使用)
语法:curl [option] [url]
常用选项
-x/--proxy <host[:port]>:在给定的端口上使用HTTP代理
-v curl:显示一次http通信的整个过程,包括端口连接和http request头信息
-I:只显示http response的头信息
-i:显示http response的头信息和网页信息
1.查看网页源码,直接在curl命令后加上网址,就可以看到网页源码。我们以网址www.baidu.com为例
- [root@jerry ~]# curl www.baidu.com
- <!DOCTYPE HTML>
- <!--STATUS OK--><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> <p id=wrAPPer> <p id=head> <p class=head_wrapper> <p class=s_form> <p class=s_form_wrapper> <p id=lg> <img hidefocus=true src=//www.baidu.com/img/bd_logo1.png width=270 height=129> </p> <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> </p> </p> <p 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>hao123</a> <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('<a href="http://www.baidu.com/bdorz/login.gif?login&tpl=mn&u='+ encodeURIcomponent(window.location.href+ (window.location.search === "" ? "?" : "&")+ "bdorz_come=1")+ '" name="tj_login" class="lb">登录</a>');</script> <a href=//www.baidu.com/more/ name=tj_briicon class=bri style="display: block;">更多产品</a> </p> </p> </p> <p id=ftCon> <p id=ftConw> <p id=lh> <a href=http://home.baidu.com>关于百度</a> <a href=http://ir.baidu.com>About Baidu</a> </p> <p id=cp>©2017 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> </p> </p> </p> </body> </html>
2.查看指定ip和端口的一次的http请求的通信过程
- [root@dps626 ~]# curl -v "http://www.baidu.com" -x 用户名:密码@115.221.8.201:17441
- * About to connect() to proxy 115.221.8.201 port 17441 (#0)
- * Trying 115.221.8.201...
- * Connected to 115.221.8.201 (115.221.8.201) port 17441 (#0)
- * Proxy auth using Basic with user 'dpstest'
- > GET http://www.baidu.com/ HTTP/1.1
- > Proxy-authorization: Basic ZHBzdGVzdDozc3l1MW90Zg==
- > User-Agent: curl/7.29.0
- > Host: www.baidu.com
- > Accept: */*
- > Proxy-Connection: Keep-Alive
- >
- < HTTP/1.1 200 OK
- < Accept-Ranges: bytes
- < Cache-Control: private, no-cache, no-store, proxy-revalidate, no-transform
- < Content-Length: 2381
- < Content-Type: text/html
- < Date: Sat, 27 Oct 2018 06:01:58 GMT
- < Etag: "588604c8-94d"
- < Last-Modified: Mon, 23 Jan 2017 13:27:36 GMT
- < pragma: no-cache
- < Server: bfe/1.0.8.18
- < Set-Cookie: BDORZ=27315; max-age=86400; domain=.baidu.com; path=/
- < Connection: close
- <
- <!DOCTYPE html>
- <!--STATUS OK--><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> <p id=wrapper> <p id=head> <p class=head_wrapper> <p class=s_form> <p class=s_form_wrapper> <p id=lg> <img hidefocus=true src=//www.baidu.com/img/bd_logo1.png width=270 height=129> </p> <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> </p> </p> <p 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>hao123</a> <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('<a href="http://www.baidu.com/bdorz/login.gif?login&tpl=mn&u='+ encodeURIComponent(window.location.href+ (window.location.search === "" ? "?" : "&")+ "bdorz_come=1")+ '" name="tj_login" class="lb">登录</a>');</script> <a href=//www.baidu.com/more/ name=tj_briicon class=bri style="display: block;">更多产 品</a> </p> </p> </p> <p id=ftCon> <p id=ftConw> <p id=lh> <a href=http://home.baidu.com>关于百度</a> <a href=http://ir.baidu.com>About Baidu</a> </p> <p id=cp>©2017 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> </p> </p> </p> </body> </html>
2.curl -I显示http response的头信息,curl -i显示http response的头信息,会连同网页代码一起。
这个参数在很多时候都很有用,比方说,我们实现了代理服务器并在代理服务器上手动自定义了一些首部的话,使用curl这个工具的“-I”选项可以很容易的探测出我们的代理服务器是否正确添加了我们自定义的首部。
- [root@dps626 ~]# curl -I www.baidu.com
- HTTP/1.1 200 OK
- Accept-Ranges: bytes
- Cache-Control: private, no-cache, no-store, proxy-revalidate, no-transform
- Connection: Keep-Alive
- Content-Length: 277
- Content-Type: text/html
- Date: Sat, 27 Oct 2018 06:05:12 GMT
- Etag: "575e1f60-115"
- Last-Modified: Mon, 13 Jun 2016 02:50:08 GMT
- Pragma: no-cache
- Server: bfe/1.0.8.18
- [root@dps626 ~]# curl -i www.baidu.com
- HTTP/1.1 200 OK
- Accept-Ranges: bytes
- Cache-Control: private, no-cache, no-store, proxy-revalidate, no-transform
- Connection: Keep-Alive
- Content-Length: 2381
- Content-Type: text/html
- Date: Sat, 27 Oct 2018 06:06:20 GMT
- Etag: "588604c8-94d"
- Last-Modified: Mon, 23 Jan 2017 13:27:36 GMT
- Pragma: no-cache
- Server: bfe/1.0.8.18
- Set-Cookie: BDORZ=27315; max-age=86400; domain=.baidu.com; path=/
- <!DOCTYPE html>
- <!--STATUS OK--><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> <p id=wrapper> <p id=head> <p class=head_wrapper> <p class=s_form> <p class=s_form_wrapper> <p id=lg> <img hidefocus=true src=//www.baidu.com/img/bd_logo1.png width=270 height=129> </p> <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> </p> </p> <p 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>hao123</a> <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('<a href="http://www.baidu.com/bdorz/login.gif?login&tpl=mn&u='+ encodeURIComponent(window.location.href+ (window.location.search === "" ? "?" : "&")+ "bdorz_come=1")+ '" name="tj_login" class="lb">登录</a>');</script> <a href=//www.baidu.com/more/ name=tj_briicon class=bri style="display: block;">更多产 品</a> </p> </p> </p> <p id=ftCon> <p id=ftConw> <p id=lh> <a href=http://home.baidu.com>关于百度</a> <a href=http://ir.baidu.com>About Baidu</a> </p> <p id=cp>©2017 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> </p> </p> </p> </body> </html>
相关阅读
今天小编给大家带来一款简单实用的歌曲下载工具-zonylrctools,可以帮助广大用户在听歌时自动匹配歌曲相关的歌词和专辑封面。这款
一、实验目的:1.学会使用Ping、IPConfig、TraceRt、Netstat、ARP等常用网络命令。2.学会配置网络接口IP属性(IP地址、子网掩码、默认
reboot 用来重启Linux系统和Windows系统中的restart一样。但是机器重启必须要root用户才有权限。 命令语法: /sbin/reboot [-n] [-
正如同乔布斯所说的:“设计的核心并不是看起来和摸起来的感觉,而是它用起来的感觉。”美并不是设计的目的,它只是达成设计目标的途径
(一) 高频词汇: 可以拿来形容自己的形容词。除开我们都熟知的一些基本的词汇可以用来形容自己,比如honest, reliable, trustworthy等