curl www.csdn.net
請求csdn,返回csdn首頁的內容。如果想要將返回的內容寫入檔案,使用如下語句即可。
curl www.csdn.net > file.html
也可以使用如下語句:
curl -o file.html www.csdn.net
這個會顯示下載進度條,如果你不想讓它顯示下載進度條,則只需要再加上-s參數,即curl -s -o file.html www.csdn.net即可。
如果想使用斷點續傳功能,則只需要加上-C參數。即:curl -C -o file.html www.csdn.net即可。
curl也支援代理訪問網路。如下所示:
curl -x 192.168.1.1:9090 -o file.html www.csdn.net
如果想儲存頁面的cookie資訊,加上-D參數即可。如下:
curl -D cookie.txt -o file.html www.csdn.net
如何在下一次訪問的時候使用上一次的cookie資訊呢?加上-b參數即可。
curl -b cookie.txt -0 file.html www.csdn.net
如何在請求中加上瀏覽器資訊呢?使用-A參數即可。如下:
curl -A "Mozilla/5.0 (Windows NT 6.1; WOW64)" -b cookie.txt -0 file.html www.csdn.net
如何欺騙伺服器,告訴伺服器自己是從某一個網址過來的呢?使用-e:
curl -e www.a.com -o file.html www.b.com
就可以欺騙www.b.com,你是從www.a.com過來的了。
使用-o可以下載檔案。使用-O可以按照伺服器上的檔案名稱下載檔案。
curl -O www.a.com/test.jpg
此外,curl下載檔案還支援Regex批量下載。
curl也支援分塊下載可以使用-r參數。比如下載一首歌a.mp3。可以使用如下命令:
curl -r 0-10240 "a.part1" www.a.com/a.mp3
curl -r 10241-20480 "a.part2" www.a.com/a.mp3
在linux下再使用cat a.part* > a.mp3就可以將檔案合并為一個整體。
curl還支援FTP下載。用法如下:
curl -u username:password ftp://ip:port/path/file或者
curl ftp://username:password@ip:port/path/file
講了下載,再說說上傳。上傳使用的參數是-T
比如向ftp上傳一個檔案:
curl -T file.txt -u username:password ftp://ip:port/path
或者
curl -T file.txt http://www.a.com/a
此時使用的是HTTP的put方法。
如何制定http協議的各種方法呢?get方法不用指定,因為預設就是它。
比如:curl http://www.a.com/login?username=shan&password=1234
使用post方法時需要使用-d參數。比如:
curl -d "username=shan&password=1234" http://www.a.com/login
如果想要上傳json資料,則可以使用如下語句:
curl -H "Accept: application/json" -H "Content-type: application/json" -X POST -d '{"title":"a new test","content":"hahahah","author":"shan","status":0,"created":"2013-08-10
12:03:04"}' http://a.test.com/api/post
使用put方法上傳json資料,則可以使用如下命令:
curl -H "Accept: application/json" -H "Content-type: application/json" -X PUT -d '{"title":"a new test1"}'
http://a.test.com/api/post