模块 Net::HTTPHeader

HTTPHeader 模块提供对 HTTP 头的访问。

该模块包含在

这些头是类似哈希的键/值对集合,称为字段

请求和响应字段

头可以包含在

具体应发送或期望哪些字段取决于主机;请参阅

关于示例

此处的示例假设已经 require 了 net/http (这也需要 uri)

require 'net/http'

此处的许多代码示例使用了这些示例网站

一些示例还假设了这些变量

uri = URI('https://jsonplaceholder.typicode.com/')
uri.freeze # Examples may not modify.
hostname = uri.hostname # => "jsonplaceholder.typicode.com"
path = uri.path         # => "/"
port = uri.port         # => 443

因此,示例请求可以写成

Net::HTTP.get(uri)
Net::HTTP.get(hostname, '/index.html')
Net::HTTP.start(hostname) do |http|
  http.get('/todos/1')
  http.get('/todos/2')
end

一个需要先修改 URI 的示例会先复制 uri,然后再修改副本

_uri = uri.dup
_uri.path = '/todos/1'

字段

头字段是一个键/值对。

字段键

字段键可以是

示例

req = Net::HTTP::Get.new(uri)
req[:accept]  # => "*/*"
req['Accept'] # => "*/*"
req['ACCEPT'] # => "*/*"

req['accept'] = 'text/html'
req[:accept] = 'text/html'
req['ACCEPT'] = 'text/html'

字段值

字段值可以作为字符串数组或字符串返回

可以设置字段值

示例字段值

便捷方法

各种便捷方法检索值、设置值、查询值、设置表单值或迭代字段。

设置器

方法 []= 可以设置任何字段,但对新值的验证很少;其他一些设置器方法提供了一些验证

表单设置器

获取器

方法 [] 可以检索任何存在的字段的值,但始终作为字符串;其他一些获取器方法返回与简单字符串值不同的值

查询

迭代器