0

我想用 Ruby 中的 Net::HTTP 发出一个 post 请求。网站是这样的:

 <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应该是登录后的页面,但登录不成功。问题是什么?

4

1 回答 1

1

“登录不成功”是什么意思?响应是否告诉您“密码无效”或其他内容?还是您认为应有的响应,但您希望后续请求“登录”,但事实并非如此?在后一种情况下,是否将 cookie 携带到下一个请求?也许你应该考虑机械化

于 2013-10-10T00:58:19.350 回答