2
My code is this


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

エラーが返されます.Net::HTTPUnauthorized .ポップアップボックスに資格情報を入力する別の方法がある場合.他の宝石が存在する場合は、私に提案してください.

4

2 に答える 2

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=test@mail.com&pass=mypassword&prof_type=30&api_key=mykey").click_button

このように動作するはずです。

于 2013-06-03T06:24:31.087 に答える
2

基本認証を渡すにはMechanize#authまたはMechanize#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=test@mail.com&pass=mypassword&prof_type=30&api_key=mykey")
于 2013-06-03T06:24:59.377 に答える