Net :: HTTP.post_form () не отправляет параметры на сервер

Я использую Rails, чтобы публиковать некоторые данные форм в веб-сервисе, работающем с php с помощью Slim Framework. Моя проблема в том что Net::HTTP.post_form(uri, data) неправильно передает данные на сервер.

Мой код выглядит так:

Рельсы:

url = URI.parse("http://somewhere.com/login")
username = "my username"password = "my password"
response = Net::HTTP.post_form(url, username: username, password: password)

Обновить:
Изменение вызова на
response = Net::HTTP.post_form(url, { 'username' => username, 'password' => password } ) по предложению Джона и Тальи тоже не работает.

Я даже пытался построить запрос вручную так:

req = Net::HTTP::Post.new uri
req.body = "username=#{username}&password=#{password}"response = Net::HTTP.start(uri.host, uri.port) {|http| http.request(req)}

С тем же результатом, что параметры неправильно отправляются на мой веб-сервис.

Тонкий:

$app->post('/login', function($request, $response, $args) use ($app, $authenticator) {
$user_params = $request->getQueryParams();
var_dump($user_params);
echo $authenticator->login($user_params);
}); // login

Дело в том, что Slim сторона работает. Я протестировал его с помощью расширенного клиентского приложения Chrome.

Используя Rails var_dump()результаты в array(0), Очевидно, что никакие параметры не передаются на сервер.

У кого-нибудь есть идеи?

0

Решение

Я пытаюсь такой же сценарий с Net::HTTP.post_form(URI.parse('http://www.mailtester.com/testmail.php'), { 'q' => "[email protected]", 'submit' => 'Check address', 'action' => 'testmail.php', 'method' => "post" })
Это дает мне результат как #<Net::HTTPForbidden 403 Forbidden readbody=true>

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]