*目次 [#b98c24f2] #contents *WWW:Mechanize [#fbf623f7] ** 参考情報 [#pd745a2f] -[[RubyForge: WWW::Mechanize: Project Info:http://rubyforge.org/projects/mechanize/]]…公式。 -[[open-uriにできないこと - daily gimite:http://d.hatena.ne.jp/Gimite/20080405/1207365980]]…Mechanizeの簡単なサンプルあり。 **インストール [#of4f3d59] gem install mechanize **Basic/Digest認証でGET [#i7c538f4] #pre{{ require "rubygems" require "mechanize" agent= Mechanize.new() agent.auth("user", "password") page= agent.get("http://example.com/") print(page.body) }} **POST [#n9084783] #pre{{ require "rubygems" require "mechanize" agent= Mechanize.new() page= agent.post("http://example.com/", {"key" => "value"}) print(page.body) }} *Tips [#de56f839] **URIエンコード・デコードする [#ta4642c5] ***エンコード [#a7a86457] #pre{{ require 'uri' p URI.escape('http://www.ruby-lang.org/ja/man-1.6/?cmd=view;name=Rubyリファレンスマニュアル') => "http://www.ruby-lang.org/ja/man-1.6/?cmd=view;name=Ruby%A5%EA%A5%D5%A5%A1%A5%EC%A5%F3%A5%B9%A5%DE%A5%CB%A5%E5%A5%A2%A5%EB" }} ***デコード [#b16c4a7d] #pre{{ require 'uri' p URI.unescape('http://www.ruby-lang.org/ja/man-1.6/?cmd=view;name=Ruby%A5%EA%A5%D5%A5%A1%A5%EC%A5%F3%A5%B9%A5%DE%A5%CB%A5%E5%A5%A2%A5%EB') => "http://www.ruby-lang.org/ja/man-1.6/?cmd=view;name=Rubyリファレンスマニュアル" }} **Digest認証でアクセスする [#ye8ccdee] -net/httpもopen-uriも対応してないのか(?) -[[RubyForge: WWW::Mechanize: Project Info:http://rubyforge.org/projects/mechanize/]]を使うのがいいらしい…