В качестве грубого прототипа воспроизведения того, что curl
делает в чистом Perl (используя https://corion.net/curl2lwp.psgi), вы можете легко преобразовать командную строку Curl в скрипт Perl, используя LWP :: UserAgent:
#!perl
use strict;
use warnings;
use LWP::UserAgent;
use HTTP::Request;
my $ua = LWP::UserAgent->new();
my $r = HTTP::Request->new(
'GET' => 'https://api.example.com/',
[
'Connection' => 'Keep-Alive',
'Via' => 'HTTP/1.1 ShoppingArea',
'Accept' =>
'text/x-html-parts,text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8',
'Accept-Charset' => 'UTF-8',
'Accept-Encoding' => 'identity',
'Host' => 'api.example.com:443',
'User-Agent' => 'curl/7.55.1',
],
);
my $res = $ua->request( $r, );
__END__
Created from curl command line
curl -v -H "Accept:text/x-html-parts,text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8" -H "Accept-Charset:UTF-8" -H "Accept-Encoding:identity" -H "Connection:Keep-Alive" -H "Via:HTTP/1.1 ShoppingArea" https://api.example.com/
Для этого требуется модуль LWP :: UserAgent , поэтому переход к curl
может быть более быстрым подходом к вам.Если вам нужно реагировать на результат, например отправлять сообщения об ошибках по HTTP Error 500 или другие уведомления по HTTP Error 4xx, использование чистого Perl более удобно, так как вы возвращаете код состояния напрямую.