新问题:
我正在使用Perl脚本执行以下操作:
use strict;
use warnings;
use LWP 5.64;
my $browser = LWP::UserAgent->new();
$browser->credentials(
'localhost:8080',
'Tomcat Manager Application',
'admin' => '123'
);
my $app_url = qq(http://localhost:8080/manager/list);
my $response = $browser->get( $app_url ); #this starts the Tomcat Manager Application
#do something
#end the tomcat manager application / terminate the session
有没有办法结束会话? Manager Manager的默认会话超时为30分钟。我试过的是:
my $browser = LWP::UserAgent->new();
$browser->conn_cache(LWP::ConnCache->new());
但它总是会打开一个新的会话。
我认为更改$browser->timeout
不是正确的方法,因为我需要在收到回复后终止会话。
非常感谢任何帮助。
旧问题:
有没有办法使用LWP手动结束我的会话?我有类似的东西:
use strict;
use warnings;
use LWP 5.64;
my $app_url = 'htpp://localhost:8080/manager/list'
my $base_url = 'http://localhost:8080'
my $browser = LWP::UserAgent->new;
$browser->credentials(
'localhost:8080/manager/list',
'Tomcat Manager Application',
'admin' => '123'
);
my $response = $browser->get( $base_url ); #session does not remain open
my $respuesta = $browser->get( $app_url ); #session remains opened
#do some processing
#and now close the connection
我想连续多次运行我的脚本,过了一段时间我在服务器上有一百万个打开的会话。
提前感谢您的任何答案。
答案 0 :(得分:0)
您可以为连接设置超时:
$browser->timeout([$secs])
默认情况下,超时为180秒。您可以指定较小的值,连接将更快关闭。
答案 1 :(得分:0)
试试这个:
my $response = $browser->get( $base_url ); #session does not remain open
my $respuesta = $browser->get( $app_url ); #session remains opened
if($respuesta->is_success){
#do some processing
die "OK";
}
return 1;