2012-12-03 26 views
0

我有这样LWP发送POST请求,并得到头文件只能在响应

my $ua = new LWP::UserAgent; 
$ua->timeout($timeout); 
$ua->agent($useragent); 
$response = $ua->post($domain,['login_name'=>$login,'login_password'=> $password])->as_string; 

页那么大的内容代码,thatI不能接收。如何仅通过发送发布数据获取标题?

+1

它是如此大以至于你无法接收它? –

回答

1

我认为这应该为你做。

my $ua = LWP::UserAgent->new(); 
$ua->timeout($timeout); 
$ua->agent($useragent); 
my $response = $ua->post( 
    $domain, 
    [ 'login_name' => $login, 'login_password' => $password ] 
); 

use Data::Dumper; 

print Dumper($response->headers()); 
print $response->request()->content(), "\n"; 
+0

此答案不回答问题。什么是错误mesaages? –

1

要首先,请检查您是否可以通过HEAD通过这个login_namelogin_password(以URL字符串:domain/?login_name=...&login_password=...)。如果这不起作用,那么你的情况很糟糕。

您不能在HEAD行为中使用POST。 LWP将等待完整回复。

使用POST服务器无论如何都会给你的内容,但你可以避开自己接收使用TCP套接字的所有内容:的gethostbyname连接sysread执行,直到你在这之后/\r?\n\r?\n/和关闭套接字。无论如何都会使用一些流量,但您可以节省内存并获得时间。

这是不正常的事情与套接字,但有时当你有高负荷/大数据 - 没有比这样的混乱更好的办法。

相关问题