У меня проблемы с преобразованием запроса cURL в Perl.FWIW, используя v5.10.1 в IBM AIX 7.1.
в cURL:
curl -s -u $USER:$PWD --data '@mft.json' -H 'Content-Type: application/json' -X POST $EVENT_URL
в Perl:
use LWP::UserAgent;
use Data::Dumper;
my $ua = LWP::UserAgent->new();
my $user = "aaa";
my $pwd = "bbb";
my $port = 7090;
my $domain = "my.site.com";
my $url = "http://".$domain.":".$port;
my $event_url = $url."/mftapp/rest/v1/events";
my $file = "mft.json";
$ua->credentials($domain.":".$port, 'default', $user, $pwd);
my $response = $ua->post($event_url, Content_Type => 'form-data', Content => [file => $file]
);
my $content = $response->as_string();
print ($content);
В зависимости от значения Content_Type
,Я получаю разные результаты:
- Content_Type = "application / json", неверный запрос 400
- Content_Type = "form-data", неподдерживаемый тип носителя 415
- Content_Type= "application / x-www-form-urlencoded", неподдерживаемый тип носителя 415
Использование этих методов для добавления заголовков нарушает мой код:
$ua->default_header('Content-Type' => 'application/json')
Не могунайдите метод объекта "default_header" через пакет "LWP :: UserAgent" в строке request.pl 20.