From: ohshima osamu Date: 2007-07-29T12:41:10+09:00 Subject: [ruby-list:43758] open-uriに渡すURL 大島と申します。 httpで制御できるIPpowerという安価な電源制御機器をrubyで制御したいと思っ ていますが、 open-uriに渡すURLのフォーマットあたりでエラーが出て困っています。 制御自体はとても簡単で、現在の状態を見る場合は、例えばw3mブラウザーから ユーザIDとパスワードを含めたコマンドをURLとして $w3m http://user_id:password@192.168.0.6/Set.cmd?CMD=GetPower のように送れば P60=1,P61=1,P62=0,P63=0,P64=0,P65=0,P66=0,P67=0 という情報が帰ってきます。(firefoxでも全く同じです) そこでrubyで制御しようと、次のようなスクリプトを書き # 'get_status.rb' require 'open-uri' puts open('http://user_id:password@192.168.0.6/Set.cmd?CMD=GetPower').read(500) $ ruby get_status.rb と実行すると以下のようなエラーが帰ってきます。 /usr/lib/ruby/1.8/open-uri.rb:287:in `open_http': 401 Unauthorized (OpenURI::HTTPError) from /usr/lib/ruby/1.8/open-uri.rb:626:in `buffer_open' from /usr/lib/ruby/1.8/open-uri.rb:164:in `open_loop' from /usr/lib/ruby/1.8/open-uri.rb:162:in `catch' from /usr/lib/ruby/1.8/open-uri.rb:162:in `open_loop' from /usr/lib/ruby/1.8/open-uri.rb:132:in `open_uri' from /usr/lib/ruby/1.8/open-uri.rb:528:in `open' from /usr/lib/ruby/1.8/open-uri.rb:30:in `open' from get_status.rb:2 このような場合どのように解決したらよいでしょうか。