如何使用Perl发送和HTTP请求与cookie?
我是Perl的新手,我想写一个Perl程序:
>创建HTTP请求 我试过这个: #!/usr/bin/perl require HTTP::Request; require LWP::UserAgent; $request = HTTP::Request->new(GET => 'http://www.google.com/'); $ua = LWP::UserAgent->new; $ua->cookie_jar({file => "testcookies.txt",autosave =>1}); $response = $ua->request($request); if($response->is_success){ print "sucessn"; print $response->code; } else { print "failn"; die $response->code; } 请告诉如何在“请求”中设置cookie 当我们发送HTTP :: Request时如何设置cookie 我期待着像: $request = HTTP::Request->new(GET => 'http://www.google.com/'); $ua = LWP::UserAgent->new; $ua->new CGI::Cookie(-name=>"myCookie",-value=>"fghij"); 这可能吗?? 解决方法
如上所述,Cookie位于HTTP :: Cookie中:
>你需要创建一个cookie jar 例如: my $ua = LWP::UserAgent->new; my $cookies = HTTP::Cookies->new(); $cookies->set_cookie(0,'cookiename','value','/','google.com',80,86400,0); $ua->cookie_jar($cookies); # Now make your request set_cookie有很多参数:
这是因为cookie jar是从浏览器(UserAgent)的角度设计的,而不是单个请求.这意味着在这种情况下并非所有的论据都是如此重要. 您需要正确的是$key,$port. 关于:
这意味着LWP无法查找Google的地址.你在网页代理后面吗?如果是这样,您需要在UA中设置您的代理,方法如下: $ua-> proxy([‘http’,’https’],’http://proxyhost.my.domain.com:8080/‘); (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |