1  概述

curl是基于URL语法在命令行方式下工作的文件传输工具,字符命令,可以用于脚本,它支持FTP,FTPS, HTTP, HTTPS, GOPHER, TELNET, DICT, FILE及LDAP等协议。curl支持HTTPS认证,并且支持HTTP的POST、PUT等方法,FTP上传,kerberos认证,HTTP上传,代理服务器,cookies,用户名/密码认证,下载文件断点续传,上载文件断点续传, http代理服务器管道(proxy tunneling),还支持IPv6,socks5代理服务器,通过http代理服务器上传文件到FTP服务器等,功能十分强大

elinks用于获取页面的信息

本文将介绍着两个工具的使用

2  curl 工具

安装服务包yum -y install curl

curl格式

curl  [options]  [URL...]

curl工具常用选项(options)介绍如下:

-A/--user-agent设置用户代理发送给服务器

-A可以指定发起请求用什么用户来发起,例子curl-A "IE11"www.baidu.com,表示是用IE11这个浏览器发起的请求

-e/--referer 来源网址,-e可以用来伪造来源地址,例子curl -e www.ghbsunny.comhttp://172.18.50.75,此时www.ghbsunny.com是不存在,但是在服务器端的log可以看到访问的来源是www.ghbsunny.com

--cacert CA证书(SSL)

-k/--insecure允许忽略证书进行SSL连接

- -compressed要求返回是压缩的格式,用这个命令,需要网站也要支持压缩,才能进行压缩

-H/--header自定义首部信息传递给服务器,例子:curl

-H "host: www.sunny.com" http://172.18.50.75,构造一个首部是www.sunny.com发给服务器

-i显示页面内容,包括报文首部信息

-I/--head只显示响应报文首部信息

-D/--dump-header将url的header信息存放在指定文件中,相当于是重定向,将结果首部信息保存在指定的文件里。例子:curl -D headfilehttp://172.18.50.75得到的结果是屏幕显示了http://172.18.50.75网页的信息,同时,将头部内容保存在当前目录下的headfile这个文件里

--limit-rate 设置传输速度,单位是字节,1024为字节

一般用于获取大文件中,访问量大的时候要适当限速,默认单位是bytes/second,可以添加单位,例子curl --limit-rate 1khttp://172.18.50.75,表示以每秒1k的速度下载http://172.18.50.75网页的信息

--basic使用HTTP基本认证

-u/--user 设置服务器的用户和密码,结合--basic选项,例子:curl --basic -uhttp:Pass123456http://172.18.50.63/basic/表示要获取http://172.18.50.63/basic/这个资源,需要通过basic认证,用户名:密码为http:Pass123456

-L进行强制重定向,如果有3xx响应码,重新发请求到新位置,将跳转后的页面下载下来,例子:curl -L--basic -u http:Pass1234http://172.18.50.63/basic当basic后面没有加横杆,此时没有-L的选项是,会返回301的code,当加上-L选项后,会自动跳转获取正确的资源

-o将网络文件保存为指定的文件中,例子,curl--limit-rate 20 -o fs3.loghttp://172.18.50.75/fs将http://172.18.50.75的文件fs下载到本地,保存到当前目录下文件为f3.log,且限制限制速度是20byte/s

-O使用URL中默认的文件名保存文件到本地,不需要重新命名下载的文件的名字,默认以源文件的名字命名,这里是大写字母O

-0/--http1.0使用HTTP 1.0这里是数字0

-C -选项可对文件使用断点续传功能,下载大文件的时候用的

-c/--cookie-jar将url中cookie存放在指定文件中,例子:curl -c baiducookiewww.baidu.com,表示获取www.baidu.com的cookie,并保存到本地目录,命名为baiducookie

-x/--proxy指定代理服务器地址

-X/--request向服务器发送指定请求方法

-U/--proxy-user代理服务器用户和密码

-T选项可将指定的本地文件上传到FTP服务器上

--data/-d方式指定使用POST方式传递数据

3  elinks工具

安装服务包yum -y install elinks

格式  elinks[OPTION]...[URL]...

常用选项介绍

elinks如果不加选项,则会进入交互式浏览器的页面

-dump:非交互式模式,将URL的内容输出至标准输出

dump只看文字,如果是html页面,字体,颜色这些效果就不会显示,只出现文字

例子:elinks --dumphttp://172.18.50.63/直接获取http://172.18.50.63/的页面信息

-source:打印源码,例子:elinks--sourcewww.baidu.com直接打印www.baidu.com的源码信息