2011年6月9日 星期四

Linux Terminal 下使用 curl 模擬瀏覽器來瀏覽或檢測網頁的方法

一般測試網站大多是開啟瀏覽器來觀察,但如果只是要寫個 cron Job 來定時檢測網站是否還活著,這時候就可以使用 curl 在 Linux Terminal 輕易達到這個目的

使用 SmokePing 這個 perl 程式加上 curl 模組就可以監控任何網站或是特定網頁



curl 常用參數說明:
-4 : 使用 IPv4 address
-A : 使用指定的 User-Agent 字串取代預設的 libcurl 字串,有些 apache 1.x 的網站必須 Mozilla/5.0 這樣的字串才行
-i : 輸出包含 HTTP Header 內容
-L : 有些網頁 header 會有重導向動作,此參數讓 curl 跟隨重導向到新的網頁去,可以檢測網站或程式的重導向設定是否正確
-c : 儲存 cookies 到 <檔名> 的檔案中,-c 後面必須帶檔名參數,使用 /dev/null 就不會留下檔案,有些網頁程式必須指定 cookie,才會把 curl 當成真正的瀏覽器
--url : 連線使用的 URL 網址
-o : 把連線的網頁儲存成 <檔名>,預設沒給 -o 就是直接輸出到畫面上
-s:安靜模式,叫 curl 不要顯示進度條或是錯誤訊息

完整範例如下:
curl --connect-timeout 30 -k -4 -A "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.7; rv:14.0) Gecko/20100101 Firefox/12.0.1" -i -L -c /dev/null --url http://www.yourdomain.com.tw/

沒有留言: