HTTP 之 curl和elinks工具介紹
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的源碼信息
本文出自 “陽光運維” 博客,請務必保留此出處http://ghbsunny.blog.51cto.com/7759574/1970452
HTTP 之 curl和elinks工具介紹