當前位置:編程學習大全網 - 源碼下載 - curl的用法

curl的用法

curl是壹個利用URL語法在命令行方式下工作的文件傳輸工具。本文介紹了它的簡單用法。

*******************************************************************************************************************************************************

curl是壹個利用URL語法在命令行方式下工作的文件傳輸工具。

它支持很多協議:FTP, FTPS, HTTP, HTTPS, GOPHER, TELNET, DICT, FILE 以及 LDAP。

curl同樣支持HTTPS認證,HTTP POST方法, HTTP PUT方法, FTP上傳, kerberos認證, HTTP上傳, 代理服務器, cookies, 用戶名/密碼認證, 下載文件斷點續傳, 上載文件斷點續傳, /servers/aix/products/aixos/linux/altlic.html 下載它。

curl的最新版本是 7.10.8,IBM網站上提供的版本為7.9.3。

在AIX下的安裝很簡單,IBM網站上下載的rpm格式的包。

在 /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方法,POST方法和GET方法的區別在於GET方法使用的時候,瀏覽器中會產生目標URL,而POST不會。類似GET,這裏有壹個網頁:

<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

這個命令就可以做到。

1995年年末,RFC 1867定義了壹種新的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的用法不同:

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

這個命令的實質是將本地的文件用POST上傳到服務器。

有關POST還有不少用法,用戶可以自己摸索。

3、使用PUT方法。

HTTP協議文件上傳的標準方法是使用PUT,此時curl命令使用-T參數:

curl -T uploadfile www.upload/receive.cgi

4、有關認證。

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

curl -u name:password www.secrets.com

如果網絡是通過patible; MSIE 5.01; Windows NT 5.0)" URL

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

使用:

curl -A "Mozilla/4.73 [en] (X11; U; Linux 2.2.15 i686)" URL

此時curl變成了Netscape,運行在PIII平臺的Linux上了。

7、COOKIES

Cookie是服務器經常使用的壹種記憶客戶信息的方法。如果cookie被記錄在了文件中,那麽使用命令:

curl -b stored_cookies_in_file www.cookiesite.com

curl可以根據舊的cookie寫出新cookie並發送到網站:

curl -b cookies.txt -c newcookies.txt www.cookiesite.com

8、加密的HTTP——HTTPS。

如果是通過OpenSSL加密的

9、

參考讀物和註意事項:

curl非常博大,用戶要想使用好這個工具,除了詳細學習參數之外,還需要深刻理解http的各種協議與URL的各個語法。

這裏推薦幾個讀物:

RFC 2616 HTTP協議語法的定義。

RFC 2396 URL語法的定義。

RFC 2109 Cookie是怎樣工作的。

RFC 1867 HTTP如何POST,以及POST的格式。

文字

curl是免費軟件,IBM公司對curl不提供技術支持。

curl官方網站:

http://curl.haxx.se

  • 上一篇:怎樣讓linux啟動後不運行桌面而是運行自己寫的圖形界面程序?
  • 下一篇:vim 在鑲嵌cscope功能時,總是不成功阿,求詳細過程步驟。cscope 我是用apt-get直接獲得安裝的。
  • copyright 2024編程學習大全網