首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用LWP设置User-Agent?

如何使用LWP设置User-Agent?
EN

Stack Overflow用户
提问于 2011-06-04 04:47:34
回答 2查看 11.9K关注 0票数 9

我有Perl & LWP这本书,但是我如何设置用户代理字符串呢?

这就是我得到的:

代码语言:javascript
复制
use LWP::UserAgent;
use LWP::Simple; # Used to download files

my $u = URI->new($url);
my $response_u = LWP::UserAgent->new->get($u);
die "Error: ", $response_u->status_line unless $response_u->is_success;

如果我想像这里一样使用LWP::UserAgent,有什么建议吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-06-04 04:59:15

LWP cookbook

代码语言:javascript
复制
  use LWP::UserAgent;
  $ua = new LWP::UserAgent;
  $ua->agent("$0/0.1 " . $ua->agent);
  # $ua->agent("Mozilla/8.0") # pretend we are very capable browser

  $req = new HTTP::Request 'GET' => 'http://www.sn.no/libwww-perl';
  $req->header('Accept' => 'text/html');

  # send request
  $res = $ua->request($req);
票数 13
EN

Stack Overflow用户

发布于 2014-08-06 11:41:25

我很欣赏LWP cookbook解决方案,它提到了子类化解决方案,并顺便引用了lwp-request。

一位聪明的perl和尚曾经说过:the ole subclassing LWP::UserAgent trick

代码语言:javascript
复制
package AgentP;
  use base 'LWP::UserAgent';
  sub _agent       { "Mozilla/8.0" }
  sub get_basic_credentials {
      return 'admin', 'password';
  }

package main;
  use AgentP;
  my $agent    = AgentP->new;
  my $response = $agent->get( 'http://127.0.0.1/hideout.html' );

  print $agent->agent();

该条目已修改为一些糟糕的幽默、use语句、_agent覆盖和更新的代理打印行。

感兴趣的人的额外材料: get_basic_credentials override提供的HTTP basic身份验证,这是大多数人找到子类化解决方案的方式。_methods是神圣的,但它确实让人发痒,不是吗?

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6232504

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档