收到一篇好文,記下備用,原文出處在http://www.douban.com/group/topic/20052717/

curl 簡單作弊條

05.26.2011 · Posted in Linux · Edit
1 curl是什麼?

curl 是一款命令行多協議支持的服務器訪問工具,可以用它來訪問HTTP服務器,就像瀏覽器一樣。當然了,它也是可以通過FTP下載或上傳文件,下次再說這塊。

2 基本應用

curl http://www.douban.com
上面的命令會在屏幕上輸出服務器的響應信息,需要headers信息加-i/--include 參數,只需要headers信息可以使用-I/--head。

重定向輸出:

curl http://www.douban.com > response.html
curl http://www.douban.com | grep 'douban.com'
如果使用管道,默認會有一個進程信息顯示出來,可以使用-s/--silent 來不顯示它們:

curl -s http://www.douban.com | grep 'douban.com'
如果想保存服務器返回的內容的話,除了使用> 重定向到一個文件外,還可以使用-o/--output 參數指定需要保存到的文件:

curl http://www.douban.com -o response.html
非文本文件也能這樣保存:

curl http://img3.douban.com/pics/nav/lg_main_a7.png -o logo.png
原名保存使用 -O/--remote-name 選項:

curl http://img3.douban.com/pics/nav/lg_main_a7.png -O
不過豆瓣的圖片有簡單的防盜鏈,所以可能下載不成功: ( 繼續往下看

3 發送數據

GET 方法的請求沒什麼特殊的,直接在url 中放上數據就可以了:

curl http://www.douban.com/?name=luo
curl http://www.douban.com/?name=小落
POST 方法的話就需要使用-d/--data 參數,只要有這個參數,即使值是空字符串,那麼出去的就是POST 方法的訪問:

curl -d 'name=luoluo&passwd=*****' http://www.douban.com
4 頭部信息

先說最常構造的兩個User-Agent 和Referer ,這兩個分別使用-A/--user-agent 和-e/--referer 來指定:

curl -A Chrome http://www.douban.com
curl -e http://liluo.org http://www.douban.com
包含這兩個頭部信息,所有的頭部信息參數都可以使用-H/--header 來設置:

curl -H Referer:http://liluo.org http://www.douban.com
curl -H User-Agent:Chrome -H Accept-Language:zh-cn http://www.douban.com
5 COOKIE控制

curl 是可以支持帶cookie 的交互行為的。使用方式是-D/--dump-header 用於指定一個文件保存獲取到的cookie 信息(實際上包含了整個頭部信息), 然後用-b/--cookie 指定一文件用於讀取保存的cookie 。

curl http://www.douban.com -D cookie.txt
curl http://www.douban.com -b cookie.txx
-D 保存出來的頭部信息就是以純文本形式存放的,所以,你可以方便地隨便修改。

6 代理和通配符

6.1 代理設置

使用 -x/--proxy 參數:

curl -x http://web.proxy.url http://www.douban.com
6.2 通配符

curl -O http://www.douban.com/~liluo/screen[1-10].jpg
curl -O http://www.douban.com/~{liluo,luoluo}/[001-201].jpg
反向引用分組:

curl -o #2_#1.jpg http://www.douban.com/~{liluo,luo}/[001-201].jpg


http://liluo.org/2011/05/curl-%E7%AE%80%E5%8D%95%E4%BD%9C%E5%BC%8A%E6%9D%A1/

arrow
arrow
    全站熱搜
    創作者介紹
    創作者 痞客興 的頭像
    痞客興

    痞客興的部落格

    痞客興 發表在 痞客邦 留言(0) 人氣()