Я пытаюсь имитировать следующий локон команда, которая работает отлично:От Руби Perl, сообщение данных исчезает
curl -k -i -d @content.json -H "Content-Type: application/json" -H "Accept: applicaztion/json" https://localhost:909/api/authenticateUser
Я имитируя завиток команду в Ruby/рельсах. Я использую драгоценный камень rest-client. Цель - это API, написанный в Perl старого стиля. Проблема заключается в том, что API не «видит» полезный груз, который отправляется в новом коде Ruby:
pload = '<string>'.to_json
response = RestClient::Request.execute(url: 'https://localhost:909/api/authenticateUser', method: :post, payload: pload, accept: :json, content_type: :json, verify_ssl: false)
Что идет не так? Является ли мой код Ruby плохим, или код Perl «слишком глупый/старый», чтобы получить полезную нагрузку от рубина. Это код Perl:
my $data = $cgi->param('POSTDATA') || "";
Я склонен думать, что проблема с моим рубиновым кодом, так как старый код Perl получает полезную нагрузку должным образом от завитка команды выше, и от другого старого кода Perl.
Спасибо за помощь.
вы смотрели на просьбу о том, Curl роды tes по сравнению с тем, который генерирует Ruby? –
Действительно ли вы отправляете Accept: applica ** z ** tion/json с вашим завитком или была сделана ошибка при копировании его в SO? – hobbs
'curl -d' выводит каретки и новые строки из данных, которые он публикует, возможно, сервер зависит от всех данных, находящихся в одной строке, каким-то образом? – hobbs