Я использую ниже код для публикации данных JSON с использованием LWP :: useragent. Я хочу сохранить сеанс открытым и отправить два запроса, но кажется, что он не работает на Linux-машине (два POST-запроса отправляются в два сеанса вместо одного).LWP :: useragent keep_alive не работает
Любые предложения? спасибо заранее
#!/usr/bin/perl
use warnings;
use LWP::UserAgent;
use HTTP::Request::Common;
open (JSON, "json3.txt") or die "$!";
$raw_string1 = do{ local $/ = undef; <JSON>;
};
my $req = HTTP::Request->new(POST => 'http://www.example.com');
$hdr1 = 'User-Agent';
$val1 = 'Java/1.7.0_45';
$hdr2 = 'Connection';
$val2 = 'keep-alive';
$hdr3 = 'Accept';
$val3 = 'application/json, application/*+json';
$hdr4 = 'Host';
$val4 = 'example.com';
$hdr5 = 'Content-Type';
$val5 = 'application/json;charset=UTF-8';
$req -> header($hdr3 => $val3);
$req -> header($hdr5 => $val5);
$req -> header($hdr1 => $val1);
$req -> header($hdr4 => $val4);
$req -> header($hdr2 => $val2);
$req->content_type("application/json");
$req->content("$raw_string1");
my $ua = LWP::UserAgent->new(keep_alive => 1);
$res = $ua->request($req);
print $res->content;
$res = $ua->request($req);
print $res->content;
Когда вы используете параметр keep_alive, тогда настраивается только LWP :: ConnCache, который Get/устанавливает количество подключений, которое будет кэшироваться. Теперь, какую ошибку/ответ вы получаете при запуске этого скрипта? – sandeep