1. 程式人生 > >Curl -------你應該知道的一些知識

Curl -------你應該知道的一些知識

.html 支持 執行c mat data variable sessionid proxy end

what is curl

cURL是一個利用URL語法在命令行下工作的文件傳輸工具,1997年首次發行。它支持文件上傳和下載,所以是綜合傳輸工具,但按傳統,習慣稱cURL為下載工具。cURL還包含了用於程序開發的libcurl。

References[百度百科]

What‘s curl used for?

獲得頁面

curl http://curl.haxx.se

常用參數

如果下載的是HTML文檔,那麽缺省的將只顯示文件頭部,即HTML文檔的header。

要全部顯示,請加參數 -i, 要只顯示頭部,用參數 -I(大寫i)。

任何時候,可以使用-v命令看curl是怎樣工作的,它向服務器發送的所有命令都會顯示出來。

為了斷點續傳,可以使用-r參數來指定傳輸範圍。

獲取表單

get
<form method="GET" action="junk.cgi">
<input type=text name="birthyear">
<input type=submit name=press value="OK">
</form>

那麽瀏覽器上會出現一個文本框和一個標為“OK”的按鈕。按下這個按鈕,表單就用GET方法向服務器提交文本框的數據。 例如原始頁面是在 www.hotmail. com/when/birth.html看到的,然後您在文本框中輸入1905,然後按OK按鈕,那麽瀏覽器的URL現在應該是:“www.hotmail. com/when/junk.cgi?birthyear=1905&press=OK” 對於這種網頁,curl可以直接處理,例如想獲取上面的網頁,只要輸入:

curl "www.hotmail. com/when/junk.cgi?birthyear=1905&press=OK"
post
<form method="POST" action="junk.cgi">
<input type=text name="birthyear">
<input type=submit name=press value="OK">
</form>

瀏覽器上也會出現一個文本框和一個標為“OK”的按鈕。按下這個按鈕,表單用POST方法向服務器提交數據。 這時的URL是看不到的,因此需要使用特殊的方法來抓取這個頁面:

curl -d "birthyear=1905&press=OK" www.hotmail. com/when/junk.cgi
post本地文件

將本地的文件用POST上傳到服務器。

<form method="POST" enctype=‘multipart/form-data‘ action="upload.cgi">
<input type=file name=upload>
<input type=submit name=press value="OK">
</form>

僅需要執行以下

curl -F upload=@localfilename -F press=OK URL

指定用戶端

有些網絡資源首先需要判斷用戶使用的是什麽瀏覽器,符合標準了才能夠下載或者瀏覽。此時curl可以把自己“偽裝”成任何其他瀏覽器:

curl -A "Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0)" URL

這個指令表示curl偽裝成了IE5.0,用戶平臺是Windows 2000。(對方服務器是根據這個字串來判斷客戶端的類型的,所以即使使用AIX也無所謂)。

有關認證

curl可以處理各種情況的認證頁面,例如下載用戶名/密碼認證方式的頁面(在IE中通常是出現一個輸入用戶名和密碼的輸入框):

curl -u name:password www.secrets.com

如果網絡是通過http代理服務器出去的,而代理服務器需要用戶名和密碼,那麽輸入:

curl -U proxyuser:proxypassword http://curl.haxx.se

任何需要輸入用戶名和密碼的時候,只在參數中指定用戶名而空著密碼,curl可以交互式的讓用戶輸入密碼。

how to use curl

curl --help 常用參數如下
 -I, --head          Show document info only
 --no-sessionid  Disable SSL session-ID reusing
 -i, --include       Include protocol response headers in the output
 -T, --upload-file <file> Transfer local FILE to destination
     --url <url>     URL to work with
 -B, --use-ascii     Use ASCII/text transfer
 -u, --user <user:password> Server user and password
 -A, --user-agent <name> Send User-Agent <name> to server
 -v, --verbose       Make the operation more talkative
 -V, --version       Show version number and quit
 -w, --write-out <format> Use output FORMAT after completion
     --xattr         Store metadata in extended file attributes

https://en.wikipedia.org/wiki/CURL References[wikipedia]

how to download&install curl

curl命令安裝使用(以windows為例)

1、下載 https://skanthak.homepage.t-online.de/curl.html#download 或者https://curl.haxx.se/download/?C=M;O=D 選擇較新的版本curl-7.64.0.cab

2、解壓 解壓後路徑,如E:\安裝包管理\curl-7.64.0\I386\CURL.EXE

3、驗證 命令行切換到E:\安裝包管理\curl-7.64.0\I386 目錄下執行curl --help 若可以輸出參數即安裝成功

4、配置環境 如果想要在DOS窗口中任意位置使用curl命令,將解壓下載好的文件,拷貝I386/curl.exe文件到C:\Windows\System32即可

Curl -------你應該知道的一些知識