Как опубликовать контент с HTTP-запросом (Perl)
use LWP::UserAgent;
use Data::Dumper;
my $ua = new LWP::UserAgent;
$ua->agent("AgentName/0.1 " . $ua->agent);
my $req = new HTTP::Request POST => 'http://example.com';
$req->content('port=8', 'target=64'); #problem
my $res = $ua->request($req);
print Dumper($res->content);
Как я могу отправить несколько частей контента, используя $req - >content? Какие данные ожидает $req->content?
Он отправляет только последний.
изменить:
выяснил, если я форматирую его как "port=8 & target=64", он работает. Есть ли лучший способ?
2 ответов
my $ua = LWP::UserAgent->new();
my $request = POST( $url, [ 'port' => 8, 'target' => 64 ] );
my $content = $ua->request($request)->as_string();
данный ответ не сработал для меня. У меня все еще была та же проблема, что и у OP.
документация LWP:: UserAgent требуется ссылка на хэш или массив.
это работает:
my $url = 'https://www.google.com/recaptcha/api/siteverify';
my $ua = LWP::UserAgent->new();
my %form;
$form{'secret'}='xxxxxxxxxxxxxxxxxxxxxxx';
$form{'response'}=$captchaResponse;
my $response = $ua->post( $url, \%form );
my $content = $response->as_string();