module OpenURI::Meta

要約

サーバから取得したデータの属性を扱うために使われるモジュールです。データを表す文字列や StringIO が extend します。

目次

インスタンスメソッド

インスタンスメソッド

base_uri -> URI[permalink][rdoc]

リソースの実際の URI を URI オブジェクトとして返します。リダイレクトされた場合は、リダイレクトされた後のデータが存在する URI を返します。

例:

require 'open-uri'
p open('http://www.ruby-lang.org/').base_uri
#=> #<URI::HTTP:0xb7043aa0 URL:http://www.ruby-lang.org/en/>
charset -> String | nil[permalink][rdoc]
charset { ... } -> String

対象となるリソースの文字コードを文字列で返します。Content-Type ヘッダの文字コード情報が使われます。文字列は小文字へと変換されています。

Content-Type ヘッダがない場合は、nil を返します。ただし、ブロックが与えられている場合は、その結果を返します。また対象となる URI のスキームが HTTP であり、自身のタイプが text である場合は、 [RFC2616] 3.7.1 で定められているとおり、文字列 "iso-8859-1" を返します。

例:

require 'open-uri'
open("http://www.ruby-lang.org/en") {|f|
  p f.content_type  # => "text/html"
  p f.charset       # => "iso-8859-1"
}
content_encoding -> [String][permalink][rdoc]

対象となるリソースの Content-Encoding を文字列の配列として返します。 Content-Encoding ヘッダがない場合は、空の配列を返します。

例:

require 'open-uri'
p open('http://example.com/f.tar.gz').content_encoding  #=> ["x-gzip"]
content_type -> String[permalink][rdoc]

対象となるリソースの Content-Type を文字列の配列で返します。Content-Type ヘッダの情報が使われます。 Content-Type ヘッダがない場合は、"application/octet-stream" を返します。

例:

require 'open-uri'
p open('http://www.ruby-lang.org/').content_type  #=> "text/html"
last_modified -> Time | nil[permalink][rdoc]

対象となる URI の最終更新時刻を Time オブジェクトで返します。 Last-Modified ヘッダがない場合は nil を返します。

例:

require 'open-uri'
p open('http://www.rubyist.net/').last_modified
#=> Thu Feb 26 16:54:58 +0900 2004
meta -> Hash[permalink][rdoc]

ヘッダを収録したハッシュを返します。

例:

require 'open-uri'
p open('http://example.com/').meta
#=> {"date"=>"Sun, 04 May 2008 11:26:40 GMT",
     "content-type"=>"text/html;charset=utf-8",
     "server"=>"Apache/2.0.54 (Debian GNU/Linux) mod_ssl/2.0.54 OpenSSL/0.9.7e",
     "transfer-encoding"=>"chunked"}
status -> [String][permalink][rdoc]

対象となるリソースのステータスコードと reason phrase を文字列の配列として返します。

例:

require 'open-uri'
p open('http://example.com/').status  #=> ["200", "OK"]