最近看《http權威指南》,一直看到書上面說的客戶端構造http報文去請求服務端,於是乎,一直想我在linux下面如何去模擬http請求呢??
後台在網上查,原來是可以通過curl命令請求的,先貼一下curl命令的強大功能;
curl是乙個強大的命令列工具,它可以通過網路將資訊傳遞給伺服器或者從伺服器獲取資料。他支援很多的傳輸協議,尤其是http/https以及其他諸如ftp/ftps, rtsp, pop3/pop3s, scp, imap/imaps協議等。當你使用curl向乙個url傳送http請求的時候,它會使用乙個預設只包含必要的頭部字段(如:user-agent, host, and accept)的http頭。
在一些個例中,或許你想要在乙個http請求中覆蓋掉預設的http頭或者新增乙個新的自定義頭部字段。例如,你或許想要重寫「host」欄位來測試乙個負載均衡,或者通過重寫"user-agent"字串來假冒特定瀏覽器以解決一些訪問限制的問題。
為了解決所有這些問題,curl提供了乙個簡單的方法來完全控制傳出http請求的http頭。你需要的這個引數是「-h」 或者 「--header」。
為了定義多個http頭部字段,"-h"選項可以在curl命令中被多次指定。
例如:以下命令設定了3個http頭部字段。也就是說,重寫了「host」字段,並且新增了兩個字段("accept-language" 和 "cookie")
:對於"user-agent", "cookie", "host"這類標準的http頭部字段,通常會有另外一種設定方法。curl命令提供了特定的選項來對這些頭部字段進行設定:
例如,以下兩個命令是等效的。這兩個命令同樣都對http頭的"user-agent"字串進行了更改。
:在linux的命令視窗下,我們無法使用瀏覽器去瀏覽**,但是可以用curl可以訪問html**。有時,為了指定某個網域名稱的ip,需要寫hosts,這樣比較費事。可以臨時用curl命令指定乙個ip
curl www.example.com -x192.168.0.111:80
用-x選項指定主機ip,這種方法類似於ie設定了乙個**伺服器。但有時候(訪問https時)這樣訪問不太好用,可以使用這樣的方法: curl -h "host:www.abc.com"
Linux命令之curl 強大的網路傳輸工具
curl命令使用了libcurl庫來實現,libcurl庫常用在c程式中用來處理http請求,curlpp是libcurl的乙個c 封裝,這幾個東西可以用在抓取網頁 網路監控等方面的開發,而curl命令可以幫助來解決開發過程中遇到的問題。curl命令引數很多,這裡只列出我曾經用過 特別是在shell...
linux 簡單強大的命令
mkdir aa mv bb cd pwd root bb ls lsbb pwd root aa cd root bb cd pwd root aa ld bash ld 未找到命令 d s ls du s home sort n tail 檢視最大的10個目錄 file 建立乙個空檔案 ps a...
Linux命令CURL用法
1.先來試試 curl 回車之後,html內容就顯示在螢幕上了。它還有乙個大寫o的選項,是按照伺服器上的檔名儲存到本地,如果執行curl o 是會報錯的,提示找不到檔名,如果換成curl o 就自動儲存檔案為1326315.html。windows下像flashget這樣的工具還支援分塊以及斷點續傳...