2012-05-03 12 views
0

ページの取得に問題があります。は基本的なhttp認証を無視する必要があります

require 'mechanize' 

    agent = Mechanize.new   
    page = agent.get("https://#{ip}/") 

最後のエラーを持っている:

/home/lord/.gem/ruby/1.9.1/gems/mechanize-2.4/lib/mechanize/http/agent.rb:682:in `response_authenticate': 401 => Net::HTTPUnauthorized for https://82.144.208.6/cgi-bin/welcome.cgi -- no credentials found, provide some with #add_auth -- available realms: r722 (Mechanize::UnauthorizedError) 
from /home/lord/.gem/ruby/1.9.1/gems/mechanize-2.4/lib/mechanize/http/agent.rb:288:in `fetch' 
from /home/lord/.gem/ruby/1.9.1/gems/mechanize-2.4/lib/mechanize.rb:407:in `get' 
from /home/lord/ruby/ruby_backup/backup-done.ru:35:in `block (2 levels) in <main>' 

は、どのように私は、http認証を無視して、ソースを得ることができますか? thx

+2

そうでない場合は、ページにアクセスすることはできません。 –

+0

はい、私はcurlを使用しています - エラーページ –

答えて

1

例外にページアクセサーが含まれています。ドキュメントは、それを説明します。http://mechanize.rubyforge.org/Mechanize/ResponseCodeError.html

試してください:あなたが資格情報を提供するために必要とされる

begin 
    page = agent.get ... 
rescue Mechanize::ResponseCodeError => e 
    page = e.page 
end 
+0

thxでrespを持っています。 ResponseCodeErrorをHTTPUnauthorizedに変更し、ジョブを完了しました –

関連する問題