HTTP, FTP に簡単にアクセスするための open-uri というライブラリを作って
みました。
open("http://www.ruby-lang.org/") {|f|
f.each_line {|line| p line}
}
というように、普通のファイルと同じように HTTP, FTP にアクセスすること
ができます。
また、
open("http://www.ruby-lang.org/en") {|f|
f.each_line {|line| p line}
p f.base_uri # <URI::HTTP:0x40e6ef2 URL:http://www.ruby-lang.org/en/>
p f.content_type # "text/html"
p f.charset # "iso-8859-1"
p f.content_encoding # []
p f.last_modified # Thu Dec 05 02:45:02 UTC 2002
}
というように、content-type や charset なども簡単に得られます。
さらに、付加的なヘッダをつけることもできます。
(FTP では無視されますが。)
open("http://www.ruby-lang.org/en/",
"User-Agent" => "Ruby/#{RUBY_VERSION}",
"From" => "foo / bar.invalid",
"Referer" => "http://www.ruby-lang.org/") {|f|
...
}
http://www.ruby-lang.org/en/raa-list.rhtml?id=758 からとれるので、興
味があるひとは使ってみてください。1.7 が対象ですが、StringIO があれば
1.6 でも動くんじゃないかと思います。
なお、迷っているのが POST と認証の扱いです。簡単に扱えるやりかたを思い
ついたひとは教えてください。
--
[田中 哲][たなか あきら][Tanaka Akira]
「ふえろ! わかめちゃん作戦です$(C⊇」(Little Worker, 桂遊生丸)