要約
URI::HTTP と URI::FTP を拡張するために用意されたモジュールです。
目次
インスタンスメソッド
open(mode = 'r', perm = nil, options = {}) -> StringIO
[permalink][rdoc][edit]open(mode = 'r', perm = nil, options = {}) {|sio| ... } -> nil
-
自身が表すリソースを取得して StringIO オブジェクトとして返します。 OpenURI.open_uri(self, *rest, &block) と同じです。
ブロックを与えた場合は StringIO オブジェクトを引数としてブロックを評価します。ブロックの終了時に StringIO は close されます。nil を返します。
返り値である StringIO オブジェクトは OpenURI::Meta モジュールで extend されています。
- [PARAM] mode:
- モードを文字列で与えます。Kernel.#open と同じです。
- [PARAM] perm:
- 無視されます。
- [PARAM] options:
- ハッシュを与えます。
- [EXCEPTION] OpenURI::HTTPError:
- 対象となる URI のスキームが http であり、かつリソースの取得に失敗した時に発生します。
- [EXCEPTION] Net::FTPError:
- 対象となる URI のスキームが ftp であり、かつリソースの取得に失敗した時に Net::FTPError のサブクラスが発生します。詳しくは net/ftp を参照して下さい。
[SEE_ALSO] OpenURI.open_uri
read(options = {}) -> String
[permalink][rdoc][edit]-
自身が表す内容を読み込んで文字列として返します。 self.open(options={}) {|io| io.read } と同じです。このメソッドによって返される文字列は OpenURI::Meta によって extend されています。
- [PARAM] options:
- ハッシュを与えます。
require 'open-uri' uri = URI.parse('http://www.example.com/') str = uri.read p str.is_a?(OpenURI::Meta) # => true p str.content_type