2015-11-23 4 views
1

Я пытаюсь использовать Mojo::UserAgent для доступа к API eBay.Как отправить произвольную полезную нагрузку с помощью Mojo :: UserAgent?

Одним из вариантов является использование запросов API с полезной нагрузкой XML, но я не имел успеха в этом с Mojo::UserAgent. Я не нашел вариантов для метода $ua->post.

Я также попытался

my $tx = $ua->build_tx(POST => $ebay_api_url => $headers); 
$tx->req->body($xml_body); 
my $res = $ua->start($tx)->res->json; 

без успеха. Тело XML не установлено для запроса.

Что нужно сделать для достижения желаемого результата?

Я знаю о возможности использования запросов JSON, но это резервный план.

ответ

0

Попробуйте разместить свой $ xml_body так:

my $tx = $ua->post($ebay_api_url => form => $xml_body); 
+0

Я не пробовал, никаких результатов, должно быть HASH после «формы => ', но у меня есть строка с XML –

+0

@NikitaTropin, поэтому '$ ua-> post ($ ebay_api_url => $ xml_body);' тоже не будет работать? – ashraf

+0

Нет, это не так. 'Malformed JSON: ожидаемая строка, массив, объект, число, логическое или нулевое значение в строке 0, смещение 0 на /home/nikita/perl5/perlbrew/perls/perl-5.20.3/lib/site_perl/5.20.3/Mojo/ Message.pm строка 140'. Я передаю строку в $ xml_body btw. –

0

Вы, вероятно, хотите (второй пример в post doc):

my $tx = $ua->post($ebay_api_url => {Accept => '*/*'} => $xml_body); 
Смежные вопросы