2013-06-03 136 views
2
My code is this 


require 'mechanize' 
    obj=Mechanize.new 
    a.get("http://cafedepoca.com/submit_data?name=test&[email protected]&pass=mypassword&prof_type=30&api_key=mykey") do |d| 
    d.user='testuser' 
    d.password='mypassword' 
    end.click_button 

它返回和error.Net::HTTPUnauthorized。如果任何其他方式來填補憑證,在彈出的box.If任何其他寶石是目前建議我。登錄使用機械化寶石

+0

你的情況是'a'是什麼? –

+0

當我填寫它的值返回ouath Net :: HTTPUnauthorized錯誤 –

回答

2

我檢查了http://cafedepoca.com,它提示BasicAuthentication。你必須先輸入它。

require 'mechanize' 
a=Mechanize.new 
a.auth('username','password') # fix this line with correct login and password for BasicAuth 
a.get("http://cafedepoca.com/submit_data?name=test&[email protected]&pass=mypassword&prof_type=30&api_key=mykey").click_button 

它應該這樣工作。

+0

Thx適用於我 –

2

您需要使用Mechanize#authMechanize#add_auth才能通過基本驗證。

require 'mechanize' 

USERNAME = "XXXXXXXX" 
PASSWORD = "YYYYYYYY" 

agent = Mechanize.new 
agent.auth(USERNAME, PASSWORD) 
agent.get("http://cafedepoca.com/submit_data?name=test&[email protected]&pass=mypassword&prof_type=30&api_key=mykey")