我想用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;
答案 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对象。