非常教程

Ruby 2.4参考手册

OpenURI

OpenURI::Meta

Mixin用于保存元信息。

属性

base_uriRW

返回一个URI,它是数据中相对URI的基础。由于重定向,它可能与用户提供的URI不同。

metaR

返回表示标题字段的哈希。Hash密钥是为了规范化而降低的。哈希值是一个字段体。如果有多个字段具有相同的字段名称,则字段值将与逗号连接。

metasR

返回表示标题字段的哈希。Hash密钥是为了规范化而降低的。哈希值是一个字段值的数组。

statusRW

返回由状态码和消息组成的数组。

公共实例方法

charset() { || ... } Show source

在Content-Type字段中返回一个字符集参数。对于标准化来说它是低估的。

如果没有给出字符集参数但给出了一个块,则调用该块并返回结果。它可以用来猜测字符集。

如果没有给出charset参数和块,则返回nil,但HTTP中的文本类型除外。在这种情况下,按照RFC2616 3.7.1的规定返回“iso-8859-1”。

# File lib/open-uri.rb, line 532
def charset
  type, *parameters = content_type_parse
  if pair = parameters.assoc('charset')
    pair.last.downcase
  elsif block_given?
    yield
  elsif type && %r{\Atext/} =~ type &&
        @base_uri && /\Ahttp\z/i =~ @base_uri.scheme
    "iso-8859-1" # RFC2616 3.7.1
  else
    nil
  end
end

content_encoding() Show source

以字符串数组的形式返回Content-Encoding字段中的编码列表。

编码降低了标准化。

# File lib/open-uri.rb, line 550
def content_encoding
  vs = @metas['content-encoding']
  if vs && %r{\A#{RE_LWS}?#{RE_TOKEN}#{RE_LWS}?(?:,#{RE_LWS}?#{RE_TOKEN}#{RE_LWS}?)*}o =~ (v = vs.join(', '))
    v.scan(RE_TOKEN).map {|content_coding| content_coding.downcase}
  else
    []
  end
end

content_type() Show source

返回MIME Con​​tent-Type的“type / subtype”。对于标准化来说它是低估的。内容类型参数被剥离。

# File lib/open-uri.rb, line 517
def content_type
  type, *_ = content_type_parse
  type || 'application/octet-stream'
end

last_modified() Show source

返回表示Last-Modified字段的时间。

# File lib/open-uri.rb, line 479
def last_modified
  if vs = @metas['last-modified']
    v = vs.join(', ')
    Time.httpdate(v)
  else
    nil
  end
end
Ruby 2.4

Ruby 是一种面向对象、命令式、函数式、动态的通用编程语言,是世界上最优美而巧妙的语言。

主页 https://www.ruby-lang.org/
源码 https://github.com/ruby/ruby
版本 2.4
发布版本 2.4.1

Ruby 2.4目录

1.缩略 | Abbrev
2.ARGF
3.数组 | Array
4.Base64
5.基本对象 | BasicObject
6.基准测试 | Benchmark
7.BigDecimal
8.绑定 | Binding
9.CGI
10.类 | Class
11.比较 | Comparable
12.负责 | Complex
13.计算续体 | Continuation
14.覆盖 | Coverage
15.CSV
16.日期 | Date
17.日期时间 | DateTime
18.DBM
19.代理 | Delegator
20.摘要 | Digest
21.Dir
22.DRb
23.编码 | Encoding
24.枚举 | Enumerable
25.枚举 | Enumerator
26.ENV
27.ERB
28.错误 | Errors
29.Etc
30.期望值 | Exception
31.错误类 | FalseClass
32.Fiber
33.Fiddle
34.文件 | File
35.文件实用程序 | FileUtils
36.查找 | Find
37.浮点 | Float
38.Forwardable
39.GC
40.GDBM
41.GetoptLong
42.Hash
43.Integer
44.IO
45.IPAddr
46.JSON
47.Kernel
48.语言 | 3Language
49.记录 | Logger
50.编排 | Marshal
51.MatchData
52.数学 | Math
53.矩阵 | Matrix
54.方法 | Method
55.模型 | Module
56.监控 | Monitor
57. 互斥 | Mutex
58.Net
59.Net::FTP
60.Net::HTTP
61.Net::IMAP
62.Net::SMTP
63.NilClass
64.数字 | Numeric
65.对象 | Object
66.ObjectSpace
67.Observable
68.Open3
69.OpenSSL
70.OpenStruct
71.OpenURI
72.OptionParser
73.路径名 | Pathname
74.完整输出 | PrettyPrint
75.Prime
76.Proc
77.过程 | Process
78.PStore
79.PTY
80.队列 | Queue
81.随机 | Random
82.范围 | Range
83.合理的 | Rational
84.Readline
85.Regexp
86.Resolv
87.Ripper
88.RubyVM
89.Scanf
90.SDBM
91.SecureRandom
92.Set
93.Shell
94.信号 | Signal
95.Singleton
96.套接字 | Socket
97.字符串 | String
98.StringIO
99.StringScanner
100.结构 | Struct