教你學用CURL 命令列瀏覽器

2022-03-14 17:22:35 字數 3778 閱讀 5282

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 ...