
【基本介紹】
Curl是一個命令行工作的URL下載軟件,這款軟件使用純命令行進行操作,支持FTP、HTT、HTTP等常用協(xié)議,并可以支持下載需要認證或應用的資源,還能偽裝成客戶端限定資源所需的瀏覽器客戶端用以下載資源。CURL是一個使用URL語法在命令行下工作的文件傳輸工具。它支持文件的上傳與下載,因此是綜合傳輸工具,但按傳統(tǒng),習慣稱CURL為下載工具。Curl可下載FTP,HTT,HTTP,GOPHE,TELNET,DICT,FILE,LDAP等協(xié)議文件,還能上傳HTTP POST,HTTP PUT,FTP uploading,HTTP form based upload,proxies,cookies。
所有的軟件都開始用圖形化的交互界面,畢竟讓人操作方便,學習成本低。但是吧總有一些開發(fā)者不隨主流,制作出命令行的下載軟件,普通用戶使用起來有一定難度。反正小編試了下,我是沒以為能有多快捷方便,設置倒是很復雜,估計唯有程序員才會使用。

【高級教程】
常用參數(shù)如下:-c,–cookie-jar:將cookie寫入到文件
-b,–cookie:從文件中讀取cookie
-C,–continue-at:斷點續(xù)傳
-d,–data:http post方式傳送數(shù)據(jù)
-D,–dump-header:把header信息寫入到文件
-F,–from:模擬http表達提交數(shù)據(jù)
-s,–slient:減少輸出信息
-o,–output:將信息輸出到文件
-O,–remote-name:根據(jù)服務器上的文件名,存在本地
–l,–head:僅返回頭部信息
-u,–user[user:pass]:設置http認證用戶與密碼
-T,–upload-file:上傳文件
【進階教程】
1、獲得一張頁面使用命令:curl http://curl.haxx.se
這是最簡單的使用方法。用這個命令獲得了http://curl.haxx.se指向的頁面,同樣,如果這里的URL指向的是一個文件或者一幅圖都可以直接下載到本地。如果下載的是HTML文檔,那么缺省的將不顯示文件頭部,即HTML文檔的header。要全部顯示,請加參數(shù) -i,要只顯示頭部,用參數(shù) -I。任何時候,可以使用 -v 命令看curl是怎樣工作的,它向服務器發(fā)送的所有命令都會顯示出來。為了斷點續(xù)傳,可以使用-r參數(shù)來指定傳輸范圍。
2、使用PUT方法。
HTTP協(xié)議文件上傳的標準方法是使用PUT,這個時候curl命令使用-T參數(shù):
curl -T uploadfile www.uploadhttp.com/receive.cgi
3、有關認證。
curl可以處理多種情況的認證頁面,例如下載用戶名/密碼認證方式的頁面(在IE中一般是出現(xiàn)一個輸入用戶名與密碼的輸入框):
curl -u name:password www.secrets.com
如果網(wǎng)絡是通過http該信息非法請別添加該條信息服務器出去的,而該信息非法請別添加該條信息服務器需要用戶名與密碼,那么輸入:
curl -U proxyuser:proxypassword http://curl.haxx.se
任何需要輸入用戶名與密碼時,只在參數(shù)中指定用戶名而空著密碼,curl可以交互式的讓你輸入密碼。
4、引用。
有些網(wǎng)絡資源訪問時必須經(jīng)過另外一個網(wǎng)絡地址跳轉(zhuǎn)過去,這用術(shù)語來講是:referer,引用。對于這種地址的資源,curl還能下載:
curl -e http://curl.haxx.se daniel.haxx.se
5、指定用戶客戶端。
有些網(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上了。
6、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
【安裝教程】
1.在本站下載該軟件并選擇向?qū)J?br />
2.選擇可執(zhí)行文件

3.選擇平臺:提供兩種選擇 win32 或者win64

4.提供兩種選擇 generic和cygwin

5.選擇操作系統(tǒng)

6.選擇SSL或SSH

7.設置系統(tǒng)變量:
添加 D:\Program Files\curl-7.31.0-ssl-sspi-zlib-static-bin-w32 至系統(tǒng)變量Path

8.測試使用:
在cmd中輸入curl www.google.com

【操作技巧】
百度curl主動推送的實現(xiàn)1.將按照一條網(wǎng)址一行的格式設置好的urls.txt文件,放到任意盤下,筆者這里是放到了D盤。

2.在cmd命令符窗口下,輸入你的urls.txt文件的目錄地址,筆者這里是D:,回車,以更改當前目錄位置。

3.到百度站長平臺復制你的curl推送命令,粘貼到cmd命令符窗口下,回車,如圖示,“remain”表示剩余還可推送條數(shù),“success”表示當前推送成功條數(shù)。

php如何使用curl發(fā)送post請求?
1.首先我們在任意位置建立一個php文件。然后使用你喜歡的編輯器打開這個文件。

2.打開文件后,我們首先寫上php的標簽。然后初始化一個curl對象。

3.緊接著,我們將要請求的接口地址定義一下。這里我隨便找了一個baidu的接口地址。

4.然后我們看一下接口需要哪些數(shù)據(jù)。并定義成一個數(shù)組。定義完畢后使用http_build_query將數(shù)據(jù)build成標準query形式。


5.接著我們綁定一下curl請求的接口地址,并設置一下curl請求的請求方式為post。


6.然后綁定要發(fā)送的post數(shù)據(jù)到curl。

7.設置一下返回內(nèi)容為字符串,而不是直接打印到屏幕上面。

8.最后我們調(diào)用curl_exec來發(fā)送curl請求并接受結(jié)果,然后將結(jié)果打印出來。

9.好了腳本到此就編寫好了, 我們使用php -l來檢查一下該文件有沒有語法錯誤,然后使用php命令來執(zhí)行這個腳本。最后該接口的返回我們就看到了。這里我的調(diào)用返回了403,被禁止訪問了。




































