Curl -------你應該知道的一些知識
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 -------你應該知道的一些知識