2010-08-28 35 views
11

Tôi đã chụp tiêu đề HTTP đăng nhập bằng plugin fireHT LiveHTTPheaders.cố gắng ĐĂNG bằng cơ chế ruby ​​

Tôi đã tìm thấy url và biến sau.

POST /login 
email=myemail%40gmail.com&password=something&remember=1&loginSubmit=Login 

Và đây là đoạn code tôi đang chạy:

require 'rubygems' 
require 'mechanize' 


browser = Mechanize.new 
browser.post('http://www.mysite.com/login', 
[ 
["email","myemail%40gmail.com"], 
["password","something"], 
["remember","1"], 
["loginSubmit","Login"], 
["url"=>""] 
] 
) do |page| 
puts page.body 
end 

Tuy nhiên, điều này mang lại cho tôi không có gì! có gì sai với thông số bài đăng của tôi không?

Trả lời

19

bài đăng() không mất một khối. Hãy thử điều này:

page = browser.post('http://www.mysite.com/login', { 
    "email" => "myemail%40gmail.com", 
    "password" => "something", 
    "remember" => "1", 
    "loginSubmit" => "Login", 
    "url" => "" 
}) 

chỉnh sửa: thay đổi về tính chính xác

+0

dường như không làm việc. – KJW

+0

hmm, tôi chưa từng xem bài đăng được sử dụng với một khối trước đó. nó không xuất hiện hợp lệ khi xem tài liệu/nguồn. như thế nào về: 'page = browser.post (...)'. Hoặc cách tôi thường làm là 'browser.post (...); browser.page.do_stuff' – cam

+0

Ồ, tôi cũng thấy rằng bạn là cú pháp mảng lồng nhau là OK cho mỗi tài liệu. Tôi vẫn nghĩ rằng băm trông đẹp hơn mặc dù;) – cam

Các vấn đề liên quan