curl? 嗯,說來話長了~~~~
這東西現在已經是蘋果機上內建的命令列工具之一了,可見其魅力之一斑
1)二話不說,先從這裡開始吧!
curl
回車之後,www.yahoo.com 的html就稀里嘩啦地顯示在螢幕上了~~~~~
2)嗯,要想把讀過來頁面存下來,是不是要這樣呢?
curl > page.html
當然可以,但不用這麼麻煩的!
用curl的內建option就好,存下http的結果,用這個option: -o
curl -o page.html
3)什麼什麼?!訪問不到?肯定是你的proxy沒有設定了。
使用curl的時候,用這個option可以指定http訪問所使用的proxy伺服器及其埠: -x
curl -x 123.45.67.89:1080 -o page.html
4)訪問有些**的時候比較討厭,他使用cookie來記錄session資訊。
像ie/nn這樣的瀏覽器,當然可以輕易處理cookie資訊,但我們的curl呢?.....
我們來學習這個option: -d <-- 這個是把http的response裡面的cookie資訊存到乙個特別的檔案中去
curl -x 123.45.67.89:1080 -o page.html -d cookie0001.txt
這樣,當頁面被存到page.html的同時,cookie資訊也被存到了cookie0001.txt裡面了
5)來判斷你是不是不按規矩訪問他們的**的。
這次我們使用這個option來把上次的cookie資訊追加到http request裡面去: -b
curl -x 123.45.67.89:1080 -o page1.html -d cookie0002.txt -b cookie0001.txt
這樣,我們就可以幾乎模擬所有的ie操作,去訪問網頁了!
6)稍微等等~~~~~我好像忘記什麼了~~~~~
對了!是瀏覽器資訊~~~~
有些討厭的**總要我們使用某些特定的瀏覽器去訪問他們,有時候更過分的是,還要使用某些特定的版本~~~~
nnd,**有時間為了它去找這些怪異的瀏覽器呢!?
好在curl給我們提供了乙個有用的option,可以讓我們隨意指定自己這次訪問所宣稱的自己的瀏覽器資訊: -a
curl -a "mozilla/4.0 (compatible; msie 6.0; windows nt 5.0)" -x 123.45.67.89:1080 -o page.html -d cookie0001.txt
這樣,伺服器端接到訪問的要求,會認為你是乙個執行在windows 2000上的ie6.0,嘿嘿嘿,其實也許你用的是蘋果機呢!
而"mozilla/4.73 [en] (x11; u; linux 2.2; 15 i686"則可以告訴對方你是一台pc上跑著的linux,用的是netscape 4.73,呵呵呵
7)討厭討厭~~~我就是要盜連~~~~~!!
幸好curl給我們提供了設定referer的option: -e
curl -a "mozilla/4.0 (compatible; msie 6.0; windows nt 5.0)" -x 123.45.67.89:1080 -e "mail.yahoo.com" -o page.html -d cookie0001.txt
這樣,就可以騙對方的伺服器,你是從mail.yahoo.com點選某個鏈結過來的了,呵呵呵
8)比如, curl -o 1.jpg
大寫的o,這麼用: curl -o
這樣,就可以按照伺服器上的檔名,自動存在本地了!
再來乙個更好用的。
不幹!在curl裡面,這麼寫就可以了:
curl -o
呵呵呵,厲害吧?!~~~
夠方便的了吧?哈哈哈
咦?高興得太早了。
沒關係,我們還有更狠的!
--對頭,呵呵!
#1是變數,指的是這部分,第一次取值zzh,第二次取值nick
#2代表的變數,則是第二段可變部分---[001-201],取值從001逐一加到201
這樣一來,就不怕檔案重名啦,呵呵
9)curl在這些方面也不輸給誰,嘿嘿
curl -c -o
舉例說明
我們就可以用這樣的命令:
不過你需要自己把這些破碎的檔案合併起來
如果你用unix或蘋果,用 cat zhao.part* > zhao.***就可以
如果用的是windows,用copy /b 來解決吧,呵呵
用法嘛,
curl -u name:passwd ftp://ip:port/path/file
或者大家熟悉的
curl ftp://name:passwd@ip:port/path/file
10)上傳的option是 -t
比如我們向ftp傳乙個檔案: curl -t localfile -u name:passwd ftp://upload_site:port/path/
當然,向http伺服器上傳檔案也可以
比如 curl -t localfile
注意,這時候,使用的協議是http的put method
剛才說到put,嘿嘿,自然讓老服想起來了其他幾種methos還沒講呢!
get和post都不能忘哦。
http提交乙個表單,比較常用的是post模式和get模式
get模式什麼option都不用,只需要把變數寫在url裡面就可以了
比如:curl /login.cgi?user=nickwolfe&password=12345
而post模式的option則是 -d
比如,curl -d "user=nickwolfe&password=12345" /login.cgi
就相當於向這個站點發出一次登陸申請~~~~~
到底該用get模式還是post模式,要看對面伺服器的程式設定。
一點需要注意的是,post模式下的檔案上的檔案上傳,比如
這樣乙個http表單,我們要用curl進行模擬,就該是這樣的語法:
curl -f upload=@localfile -f nick=go
羅羅嗦嗦講了這麼多,其實curl還有很多很多技巧和用法
比如 https的時候使用本地證書,就可以這樣
再比如,你還可以用curl通過dict協議去查字典~~~~~
curl dict:
今天就先講到這裡吧,呵呵。瘋狂的curl功能,需要你---一起來發掘。
linux下命令列瀏覽器curl相關問題解決方法
今天在做專案的時候需要使用corntab定時任務來執行curl命令操作,但是中途遇到了curl相關問題,特地來做一篇筆記 由於需要使用curl來訪問執行任務,特地做出來個介面來執行操作,但是其中出現了問題,任務沒有被執行。於是在命令列視窗中發現了問題,curl中的get引數好像傳遞不完全,只傳遞了乙...
Chrome瀏覽器命令列啟動引數
這個頁面列出了一些常用的命令列啟動引數以及對它們的簡要說明。說明中括號裡的內容為譯者注。為此頁 1 對於選項頁 chrome settings 或實驗頁 chrome flags 已明確給出可視選項的引數,本列表不再包含。更新更全的列表可以參考這裡 英文,約500條,每日更新 這些引數的使用方法見本...
CURL linux下的命令列瀏覽器應用
這樣乙個http表單,我們要用curl進行模擬,就該是這樣的語法 curl f upload localfile f nick go 羅羅嗦嗦講了這麼多,其實curl還有很多很多技巧和用法 比如 https的時候使用本地證書,就可以這樣 再比如,你還可以用curl通過dict協議去查字典 curl ...