用命令行轻松实现宽带路由器配置自动化( 二 )



(1)输出页面信息参数:
我们在CURL后直接跟页面地址就可以在命令行模式中显示相应页面的源代码 。
curl www.sohu.com
//将把www.sohu.com的页面全部代码内容显示在命令行模式中(如图3)
图3:输出页面信息参数(点击看大图)
 (2)保存相应页面:
假如我们想直接通过CURL命令保存某个页面全部内容的话命令如下
curl www.sohu.com >softer.htm
//将www.sohu.com这个页面保存到softer.htm中,这样在命令行模式当前路径中就会出现一个新的名为softer.htm的文件,打开他对应的就是www.sohu.com页面的信息 。保存会花费一定的时间,当%列显示100说明全部完成 。(如图4)
图4:保存相应页面(点击看大图)
小提示:
实际上不使用>而直接使用CURL的-o参数也可以实现上面的功能,在CURL内置有一个option参数,用curl -o softer.htm http://www.sohu.com也可以将www.sohu.com页面保存成softer.htm文件 。
(3)访问基于用户名和密码验证的页面:
假如你要访问的页面需要输入用户名和密码来验证的话,同样可以通过CURL命令的-u参数解决 。比如说我们要访问http://192.168.1.1这个地址,这个地址的真实内容只有在你输入了正确的用户名和密码之后才能查看 。(如图5)
图5:访问http://192.168.1.1
假如你没有输入用户名和密码或者输入的是错误的,页面将会显示错误信息 。(如图6)
图6:错误信息
这里假设我们的用户名是admin,密码是198029,要访问的页面地址是http://192.168.1.1,那么完全可以通过CURL实现真实页面的输出和保存 。
curl -u admin:198029 http://192.168.1.1
//访问192.168.1.1页面,当需要用户密码验证的时候输入用户名admin,密码是198029 。然后将把通过验证后的页面信息显示在命令行模式中 。(如图7)
图7:通过验证信息(点击看大图)
(4)基于代理的访问:
也许有的时候我们访问某个页面需要通过代理服务器才行,没有设置代理服务器直接用curl -o保存的页面是错误的,那么完全可以通过-x参数来实现 。
这里假设依然访问192.168.1.1但是需要使用代理服务器10.91.30.1:8080这个地址才行 。CURL命令如下——
curl -x 10.91.30.1:8080 -o softer.html http://192.168.1.1
//通过代理服务器10.91.30.1:8080访问http://192.168.1.1这个页面,并将页面信息保存到softer.html文件中 。
(5)修改useragent:
很多时候我们访问某个站点时都会出现错误信息,在这些错误信息中有一类是因为使用浏览器种类不符造成的 。也就是说页面会读取访问者浏览器的 useragent信息,假如这个信息不在该页面授权浏览器范围内则无法访问 。在通过手机 笔记本访问无线网络时这种情况最为常见,我们用IE浏览器和 Maxthon等工具都无法浏览,只能通过注册表修改useragent来迷惑对方,实现访问的目的 。当然在命令行curl中也可以使用-A参数来实现 。
通过-A参数可以指定你的浏览器的种类和版本 。例如curl -A "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0)" -x http://www.sohu.com 。
这样服务器端接到访问的要求,会认为你是一个运行在windows 2000上的IE6.0,其实也许你用的是苹果机 。而-A后跟"Mozilla/4.73 [en] (X11; U; Linux 2.2; 15 i686"则可以告诉对方你是一台PC,操作系统为Linux,用的是Netscape 4.73浏览器 。

(6)CURL也能防盗链:
服务器端常用的限制方法,就是检查http访问的referer 。比如你先访问首页,再访问里面所指定的下载页,这第二次访问的referer 地址就是第一次访问成功后的页面地址 。这样,服务器端只要发现对下载页面某次访问的referer地址不是首页的地址,就可以断定那是个盗链了 。当发现是盗链后我们的访问就失败了 。

推荐阅读