>>478
「失敗」というのはありえない
Rubyにおけるほぼ全ての処理は成功を返すか、でなければ例外を吐いて落ちる
例外が出たなら例外が出た意味を考えて処置するべき
「失敗した」「壊れた」「動かない」というのは現在のプログラミングでは極めて稀で、ほぼ必ず付帯した状況の情報があるはず

で、WikipediaはUserAgentを見て403を返すことがある
UserAgentが空っぽか、一般的なWebブラウザではない場合に弾かれることがある

require "open-uri"
html = open('http://ja.wikipedia.org/wiki/%E9%9D%92%E5%B3%B6%E5%88%83', 'User-Agent' => 'open-uri Ruby/1.8.7').read
puts html.scan(/<title>(.+?)<\/title>/)[0].flatten

みたいなのでどう