Linux 強大的 curl 命令

2021-07-04 13:08:19 字數 1340 閱讀 2566

最近看《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這樣的工具還支援分塊以及斷點續傳...