close
一樣是因為工作需要,必須模擬使用者透過Browser去爬固定幾個有問題的網頁來測試,本來在php上面只需要透過fopen()這個函式來抓取網頁即可,如以下方式:
<?php
$handle = fopen("http://www.example.com/", "r");
$handle = fopen("ftp://user:password@example.com/somefile.txt", "w");
?>
即可透過PHP抓取網頁或者ftp的檔案,但是若要考量到必須模擬browser和web
server之間互動的話,勢必要搞一個http client,好在http client也只是個Socket程式罷了,之前也用C語言實現過一個簡單的http
client,不過因為那個太陽春了,要去增加一些常見的網頁互動的動作有點浪費時間,所以在這邊跟大家介紹個套件,HttpClient
Class,這個PHP Class是我在網路上面找到的,作者是Simon Willison,雖然這隻程式是2003年寫的,但是對HTTP1.0/1.1、
cookie以及一些基本的網頁認證等功能都有提供,算是一個相當完整的web client。
只要將HttpClient.class.php抓下來後,將其include,直接new一個Object就可以做HTTP的操作了,常用的操作其實在example裡面就已經有了,只要把Code抓下來改一下即可Work,不用花時間去K它的Manual。
以上轉自http://nsysumis94.pixnet.net/blog/post/18343041
全站熱搜