使用Proxy(perl)发布参数

时间:2010-07-13 00:51:48

标签: perl sockets post

我想用http代理发送参数(phd => text , go => submit)。我怎么能这样做?

我有这个Perl代码:

my $ua = LWP::UserAgent->new();
my $req = POST 'http://example.com',
[ phd => 'text' , go => 'submit'];
$content = $ua->request($req)->as_string; 
print $content;

3 个答案:

答案 0 :(得分:1)

添加一条指令,以便用户代理知道代理的位置:

$ua->proxy("http", "http://localhost:8888");

关于POST是一个有效的赤字的评论(我可能不会注意到),我的模块中有这样的内容:

use HTTP::Request::Common qw( POST GET );

答案 1 :(得分:0)

我刚刚写了这篇文章,当时我和你做了同样的事情 - http://blog.gnucom.cc/?p=122 - 检查一下,如果你觉得它有用,请告诉我(它会做同样的事情)

我认为您可能遇到的主要问题是您的POST数据被发送到了错误的页面。当你发布数据时,你需要将它发送到某个地方,例如example.com/target_form.php。你的例子没有表明你正在这样做 - 所以希望我不要假设太多。 :d

答案 2 :(得分:0)

在进行方法调用'request'之前,必须将代理信息添加到UA对象。从这里开始:http://search.cpan.org/~gaas/libwww-perl-5.836/lib/LWP/UserAgent.pm#Proxy_attributes

'POST'是一个有效的裸字运算符或命名空间吗?如果没有,您将首先考虑如何创建HTTP :: request对象。