我想在Ruby中使用Net :: HTTP发布帖子请求。该网站如下:
<form method="post" action="login.php">
<tr><td><input type="text" name="id" /></td></tr>
<tr><td><input type="password" name="password" /></td>
<td> <input type="submit" name = "submit" value="Login" /> </td></tr>
</form>
遵循Ruby中Net :: HTTP的示例,ruby脚本如下:
uri = URI('http://www.example.com/login.php')
req = Net::HTTP::Post.new(uri)
req.set_form_data('id' => 'myid', 'password' => 'mypassword', 'submit' => 'Login')
res = Net::HTTP.start(uri.hostname, uri.port) do |http|
http.request(req)
end
我认为res
应该是登录后的页面,但登录不成功。有什么问题?
答案 0 :(得分:1)
“登录不成功”是什么意思?响应是否告诉您“密码无效”或其他什么?或者是您认为应该是的响应,但是您希望后续请求“登录”,但事实并非如此?在后一种情况下,您是否将cookie带到下一个请求中?也许您应该考虑使用Mechanize。