Php Net::HTTP.post_form()不’;t向服务器提交参数

Php Net::HTTP.post_form()不’;t向服务器提交参数,php,ruby-on-rails,slim-lang,Php,Ruby On Rails,Slim Lang,我正在使用Rails将一些表单数据发布到一个使用Slim框架运行php的web服务中。我的问题是Net::HTTP.post\u表单(uri,数据)没有将数据正确提交到服务器 我的代码如下所示: 轨道: url = URI.parse("http://somewhere.com/login") username = "my username" password = "my password" response = Net::HTTP.post_form(url, username: usern

我正在使用Rails将一些表单数据发布到一个使用Slim框架运行php的web服务中。我的问题是
Net::HTTP.post\u表单(uri,数据)
没有将数据正确提交到服务器

我的代码如下所示:

轨道:

url = URI.parse("http://somewhere.com/login")
username = "my username"
password = "my password"

response = Net::HTTP.post_form(url, username: username, password: password)
$app->post('/login', function($request, $response, $args) use ($app, $authenticator) {
  $user_params = $request->getQueryParams();
  var_dump($user_params);
  echo $authenticator->login($user_params);
}); // login
更新: 将呼叫更改为
response=Net::HTTP.post_表单(url,{'username'=>username,'password'=>password})
根据Jon和taglia的建议,也不起作用

我甚至尝试手动生成请求,如下所示:

req = Net::HTTP::Post.new uri
req.body = "username=#{username}&password=#{password}"
response = Net::HTTP.start(uri.host, uri.port) {|http| http.request(req)}
同样的结果是参数没有正确地发送到我的web服务

苗条:

url = URI.parse("http://somewhere.com/login")
username = "my username"
password = "my password"

response = Net::HTTP.post_form(url, username: username, password: password)
$app->post('/login', function($request, $response, $args) use ($app, $authenticator) {
  $user_params = $request->getQueryParams();
  var_dump($user_params);
  echo $authenticator->login($user_params);
}); // login
问题是苗条的一面正在发挥作用。我用Chrome的高级Rest客户端应用程序测试了它

使用Rails的
var\u dump()
结果是
数组(0)
。因此,显然没有向服务器提交任何参数


有人有想法吗?

我正在用
Net::HTTP.post\u表单(URI.parse)尝试相同的场景http://www.mailtester.com/testmail.php“),{'q'=>”santosh8887@gmailsdfsfd.com“,”提交“=>”检查地址“,”操作“=>”testmail.php“,”方法“=>”post”})

根据
post\u表单
的文档,它给我的结果像

Net::HTTP.post\u表单(url、用户名、密码)。。。表单数据必须作为字符串到字符串的哈希映射提供。您正在使用符号到字符串的映射。@Jon是对的,并且您也没有以哈希形式提供数据。您的代码应该是:
response=Net::HTTP.post_表单(url,{'username'=>username,'password'=>password})