如何在LWP中使用文本文件?

时间:2018-06-13 23:14:35

标签: perl

我需要使用LWP向HTTP服务器发送请求。例如,我有一个包含数据的文件,我必须向服务器foobar.baz发送请求。

use LWP::UserAgent;

$ua = LWP::UserAgent->new;
$ua->agent("$0/0.1 " . $ua->agent);
$ua->agent("Mozilla/8.0") 

$req = HTTP::Request->new(GET => 'http://www.foobar.baz');
$req->header('Accept' => 'text/html');
$res = $ua->request($req);

如何在

中使用file.txt
$req = HTTP::Request->new(GET => 'http://www.foobar.baz')
每个请求

例如file.txt包含

aaaa
bbbb
cccc
dddd
eeee

我需要向

发送请求
aaaa.foobar.baz
bbbb.foobar.baz
cccc.foobar.baz

等等。

我该怎么做?

2 个答案:

答案 0 :(得分:1)

这是一个非常简单的问题,我想知道为什么你甚至不能自己尝试

只需阅读文件并从每行文本构建完整的URL

即可
use strict;
use warnings 'all';

use LWP::UserAgent;

my $ua = LWP::UserAgent->new;
$ua->agent("$0/0.1 " . $ua->agent);
$ua->agent("Mozilla/8.0");

open my $fh, '<', 'file.txt' or die $!;

while ( <$fh> ) {

    next unless /\S/;

    chomp;

    my $res = $ua->get( "$_.foobar.baz" );
}

答案 1 :(得分:0)

您可能会发现CPAN上的App::SimpleScan很有用。我在Yahoo!上写了这样一个应用程序。在2005年。它处理URL的组合规范,让你快照输出等。基于插件的插件有一套相当不错的插件,所以如果它不能完全按你想要的那样做,它不应该是你很难让它发挥作用。