curl命令詳解

2021-09-26 01:16:33 字數 2081 閱讀 6388

curl 是一種命令列工具,作用是發出網路請求,然後獲取資料,顯示在"標準輸出"(stdout)上面。它支援多種協議,下面列舉其常用功能。

直接在 curl 命令後加上**,就可以看到網頁原始碼。以** www.baidu.com為例(選擇該**,主要因為它的網頁**較短)。

如果要把這個網頁儲存下來,可以使用 -o 引數:

?$ curl -o [檔名] www.baidu.com

有的**是自動跳轉的。使用 -l 引數,curl 就會跳轉到新的**。

鍵入上面的命令,結果自動跳轉為 www.baidu.com.cn。

-i 引數可以顯示 http response 的頭資訊,連同網頁**一起。-i 引數則只顯示 http response 的頭資訊。

-v 引數可以顯示一次 http 通訊的整個過程,包括埠連線和 http request 頭資訊。

如果覺得上面的資訊還不夠,那麼下面的命令可以檢視更詳細的通訊過程。

$ curl --trace output.txt www.sina.com

或者

$ curl --trace-ascii output.txt www.sina.com

執行後,開啟 output.txt 檔案檢視。

post 方法必須把資料和**分開,curl 就要用到 --data 或者 -d 引數。

如果你的資料沒有經過表單編碼,還可以讓 curl 為你編碼,引數是 --data-urlencode。

curl 預設的 http 動詞是 get,使用 -x 引數可以支援其他動詞。

$ curl -x post www.example.com

$ curl -x delete www.example.com

這個欄位是用來表示客戶端的裝置資訊。伺服器有時會根據這個字段,針對不同裝置,返回不同格式的網頁,比如手機版和桌面版。

瀏覽器的 user agent 是:

curl 可以這樣模擬:

$ curl --user-agent 「[user agent]」 [url]

使用 --cookie 引數,可以讓 curl 傳送 cookie。

$ curl --cookie 「name=***」 www.example.com

至於具體的 cookie 的值,可以從 http response 頭資訊的 set-cookie 欄位中得到。

有時需要在 http request 之中,自行增加乙個頭資訊。–header 引數就可以起到這個作用。

有些網域需要 http 認證,這時 curl 需要用到 --user 或者 -u 引數。

curl命令詳解

對於windows使用者如果用cygwin模擬unix環境的話,裡面沒有帶curl命令,要自己裝,所以建議用gow來模擬,它已經自帶了curl工具,安裝後直接在cmd環境中用curl命令就可,因為路徑已經自動給你配置好了。root krlcgcms01 mytest curl f curl 22 t...

curl命令詳解

curl是利用url語法在命令列方式下工作的開源檔案傳輸工具。它被廣泛應用在unix 多種linux發行版中,並且有dos和win32 win64下的移植版本。安裝使用 方法1.對於windows使用者如果用cygwin模擬unix環境的話,裡面沒有帶curl命令,要自己裝,所以建議用gow來模擬,...

curl命令詳解

對於windows使用者如果用cygwin模擬unix環境的話,裡面沒有帶curl命令,要自己裝,所以建議用gow來模擬,它已經自帶了curl工具,安裝後直接在cmd環境中用curl命令就可,因為路徑已經自動給你配置好了。root krlcgcms01 mytest curl f curl 22 t...