LWP中文FAQ -- 转自兰花仙子 from CU

LWP中文FAQ -- 转自兰花仙子 from CU,第1张

概述  http://bbs.chinaunix.net/thread-1805600-1-1.html LWP中 文FAQ 若有变动或补充仙子会即时更新 1. 如何快速GET一个页面?   use LWP::Simple;   my $doc = get 'http://www.example.com/'; 复制代码 2. 标准的HTTP请求过程?   use LWP::UserAgent;    

 

http://bbs.chinaunix.net/thread-1805600-1-1.HTML

LWP中 文FAQ
若有变动或补充仙子会即时更新


1. 如何快速GET一个页面?

  use LWP::Simple;   my $doc = get 'http://www.example.com/'; 复制代码


2. 标准的http请求过程?



  use LWP::UserAgent;     my $ua = LWP::UserAgent->new;   my $req = http::Request->new(GET => 'http://www.example.com/');     my $res = $ua->request($req);     if ($res->is_success) {       print $res->as_string;   }else {       print "Failed: ",$res->status_line,"\n";   } 复制代码


3. 如何得到http响应状态码?



  print $res->status_line; 复 制代码


4. 如何得到http响应的完整内容?



  print $res->as_string; 复 制代码


5. 如何得到http响应的HTML解码后的内容?



   print $res->decoded_content; 复制代码


6. 如何POST数据?



  use LWP::UserAgent;   my $ua = LWP::UserAgent->new;     my $req = http::Request->new(POST => 'http://www.example.com/');   $req->content_type('application/x-www-form-urlencoded');   $req->content('key1=value1&key2=value2');     my $res = $ua->request($req);   print $res->as_string; 复制代码


7. 如何接受cookie?



  use LWP::UserAgent;   use http::cookies;     my $ua = LWP::UserAgent->new;   $ua->cookie_jar(http::cookies->new(file => "lwpcookies.txt",                                      autosave => 1));     my $req = http::Request->new(GET => "http://www.example.com/");     my $res = $ua->request($req);   print $res->status_line; 复制代码


8. 如何在请求里发送指定的cookie?


  use LWP::UserAgent;   my $ua = LWP::UserAgent->new;     my $req = http::Request->new(GET => 'http://www.example.com/');   $req->header('cookie' => "key1=value1;key2=value2");     my $res = $ua->request($req);   print $res->status_line; 复制代码


9. 如何访问需要身份验证的网站(basic auth)?



  use LWP::UserAgent;   my $ua = LWP::UserAgent->new;     my $req = http::Request->new(GET => 'http://www.example.com/');   my $req->authorization_basic('user','password');     my $res = $ua->request($req);   print $res->as_string; 复制代码


10. 如何指定UserAgent的超时

时间

和版本?



  my $ua = LWP::UserAgent->new;   $ua->timeout(5);   $ua->agent("Mozilla/8.0"); 复制代码


11. 如何让UserAgent不follow重定向?



  $ua->max_redirect(0); 复制代码

  参数表示跟随重定向的层数,0表示不跟随重定向。




12. 如果机器有多个IP,如何指定UserAgent使用哪个IP访问

网络


  $ua->local_address('1.2.3.4'); 复制代码


13. 直接使用IP访问网站,为什么会失败?



   那是因为没有加上Host头部,虚拟主机识别不出你的请求。


   在构造请求时,请加上Host头部:



   my $req = http::Request->new(GET => "1.2.3.4");     $req->header('Accept' => 'text/HTML',                  'Host' => 'www.example.com'); 复制代码 本主题由 兰花仙子 于 2010-10-26 17:11 鉴定为 精华 总结

以上是内存溢出为你收集整理的LWP中文FAQ -- 转自兰花仙子 from CU全部内容,希望文章能够帮你解决LWP中文FAQ -- 转自兰花仙子 from CU所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1287275.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-09
下一篇 2022-06-09

发表评论

登录后才能评论

评论列表(0条)

保存