LWP::UserAgent是個網頁的代理模組,利用他可以和網頁來進行互動,通常的步驟是
一、建立LWP::UserAgent物件,設定使用者代理程式的型態。
二、建立一個HTTP::Request物件,用來儲存所使用的要求方法(request method)與URL。參考常用的HTTP回應碼
三、使用header方法將必要的標頭加入request物件中。
四、將要求物件傳給使用者代理物件中的request方法,然後解讀與處理傳回的HTTP::Response物件。

看範例
use LWP::UserAgent;
use HTTP::Headers;

my $url="http://www.perl.com/CPAN/SITES.html";
my $agent_name='myagent';
my $ua=LWP::UserAgent->new($agent_name);

my $request=HTTP::Request->new(GET=>$url);

$request->header(Accept=>'text/html');

my $response=$ua->request($request);
print $response->as_string, "\n";



很簡單吧 :)
LWP模組是個物件導向模組(除了LWP::Simple模組例外),並且擅於使用繼承(inheritance)與結合(composition)還兩個功能,例如HTTP::Request物件是HTTP::Message的子類別(subclass),這個子類別又包括了HTTP::Headers物件。

實際的應用可以參考台鐵網路訂票,那個程式就是用這方法寫出來的喔 :)
arrow
arrow
    全站熱搜

    jck11 發表在 痞客邦 留言(1) 人氣()