網(wǎng)友評分: 9.7分
Curl是一款非常實用的開源文件傳輸工具,該款工具支持眾多文件傳輸協(xié)議,包括了FTP、HTT、HTTP、GOPHE、TELNET、DICT、FILE、LDAP,并且還支持上傳HTTP POST、HTTP PUT、FTP uploading、HTTP form based upload、proxies、cookies等。
(點擊圖片查看大圖)
獲得頁面
使用命令:curl http://curl.haxx.se
這是最簡單的使用方法。用這個命令獲得了http://curl.haxx.se指向的頁面,同樣,如果這里的URL指向的是一個文件或者一幅圖都可以直接下載到本地。如果下載的是HTML文檔,那么缺省的將不顯示文件頭部,即HTML文檔的header。要全部顯示,請加參數(shù) -i,要只顯示頭部,用參數(shù) -I。任何時候,可以使用 -v 命令看curl是怎樣工作的,它向服務器發(fā)送的所有命令都會顯示出來。為了斷點續(xù)傳,可以使用-r參數(shù)來指定傳輸范圍。
獲取表單
在WEB頁面設計中,form是很重要的元素。Form通常用來收集并向網(wǎng)站提交信息。提交信息的方法有兩種,GET方法和POST方法。先討論GET方法,例如在頁面中有這樣一段:
那么瀏覽器上會出現(xiàn)一個文本框和一個標為“OK”的按鈕。按下這個按鈕,表單就用GET方法向服務器提交文本框的數(shù)據(jù)。
例如原始頁面是在 www.hotmail. com/when/birth.html看到的,然后您在文本框中輸入1905,然后按OK按鈕,那么瀏覽器的URL現(xiàn)在應該是:“www.hotmail. com/when/junk.cgi?birthyear=1905&press=OK”
對于這種網(wǎng)頁,curl可以直接處理,例如想獲取上面的網(wǎng)頁,只要輸入:
curl “www.hotmail. com/when/junk.cgi?birthyear=1905&press=OK”
就可以了。
表單用來提交信息的第二種方法叫做POST方法,POST方法和GET方法的區(qū)別在于GET方法使用的時候,瀏覽器中會產生目標URL,而POST不會。類似GET,這里有一個網(wǎng)頁:
瀏覽器上也會出現(xiàn)一個文本框和一個標為“OK”的按鈕。按下這個按鈕,表單用POST方法向服務器提交數(shù)據(jù)。
這時的URL是看不到的,因此需要使用特殊的方法來抓取這個頁面:
curl -d “birthyear=1905&press=OK” www.hotmail. com/when/junk.cgi
這個命令就可以做到。
1995年年末,RFC 1867定義了一種新的POST方法,用來上傳文件。主要用于把本地文件上傳到服務器。此時頁面是這樣寫的:
對于這種頁面,curl的用法不同:
curl -F upload=@localfilename -F press=OK URL
這個命令的實質是將本地的文件用POST上傳到服務器。
有關POST還有不少用法,用戶可以自己摸索。
使用PUT
HTTP協(xié)議文件上傳的標準方法是使用PUT,此時curl命令使用-T參數(shù):
curl -T uploadfile www.uploadhttp. com/receive.cgi
有關認證
curl可以處理各種情況的認證頁面,例如下載用戶名/密碼認證方式的頁面(在IE中通常是出現(xiàn)一個輸入用戶名和密碼的輸入框):
curl -u name:password www.secrets. com
如果網(wǎng)絡是通過http代理服務器出去的,而代理服務器需要用戶名和密碼,那么輸入:
curl -U proxyuser:proxypassword http://curl.haxx. se
任何需要輸入用戶名和密碼的時候,只在參數(shù)中指定用戶名而空著密碼,curl可以交互式的讓用戶輸入密碼。
引用
有些網(wǎng)絡資源訪問的時候必須經(jīng)過另外一個網(wǎng)絡地址跳轉過去,這用術語來說是:referer,引用。
對于這種地址的資源,curl也可以下載:
curl -e http://curl.haxx. se daniel.haxx. se
指定用戶端
有些網(wǎng)絡資源首先需要判斷用戶使用的是什么瀏覽器,符合標準了才能夠下載或者瀏覽。
此時curl可以把自己“偽裝”成任何其他瀏覽器:
curl -A “Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0)” URL
這個指令表示curl偽裝成了IE5.0,用戶平臺是Windows 2000。(對方服務器是根據(jù)這個字串來判斷客戶端的類型的,所以即使使用AIX也無所謂)。
使用:
curl -A “Mozilla/4.73 [en] (X11; U; Linux 2.2.15 i686)” URL
此時curl變成了Netscape,運行在PIII平臺的Linux上了。
COOKIES
Cookie是服務器經(jīng)常使用的一種記憶客戶信息的方法。如果cookie被記錄在了文件中,那么使用命令:
curl -b stored_cookies_in_file www.cookiesite. com
curl可以根據(jù)舊的cookie寫出新cookie并發(fā)送到網(wǎng)站:
curl -b cookies.txt -c newcookies.txt www.cookiesite. com
加密HTTP
如果是通過OpenSSL加密的https協(xié)議傳輸?shù)木W(wǎng)頁,curl可以直接訪問:
curl https://that.secure.server. com
http認證
如果是采用證書認證的http地址,證書在本地,那么curl這樣使用:
curl -E mycert.pem https://that.secure.server. com
注意事項
curl非常博大,用戶要想使用好這個工具,除了詳細學習參數(shù)之外,還需要深刻理解http的各種協(xié)議與URL的各個語法。
這里推薦幾個讀物:
RFC 2616 HTTP協(xié)議語法的定義。
RFC 2396 URL語法的定義。
RFC 2109 Cookie是怎樣工作的。
RFC 1867 HTTP如何POST,以及POST的格式。
4Media iPad Max Platinum(iPad文件管理工具) V5.7 官方版 69.12M | 簡體中文 | 8
下載Arc文件傳輸 V1.1.3 官方版 31.75M | 簡體中文 | 8
下載ImToo iPhone Transfer Platinum(文件傳輸備份軟件) V5.7.36 官方版 77.69M | 簡體中文 | 8
下載LocalSend(文件傳輸軟件) V1.9.0 官方版 10.13M | 簡體中文 | 3.3
下載vivo互傳電腦版 V6.3.3.24 免費PC版 33.85M | 簡體中文 | 7.6
下載大瀑布 V1.0.3 官方版 10.53M | 簡體中文 | 8
下載關于本站|下載幫助|下載聲明|軟件發(fā)布|聯(lián)系我們
Copyright ? 2005-2024 www.obymc.com.All rights reserved.
浙ICP備06019006號-1 浙公網(wǎng)安備33038102330474號