class Net::HTTPRequest
此类是 Net::HTTP 请求类的基类。此类不应直接使用;而应使用下面列出的其子类。
创建请求
请求对象可以使用 URI 或字符串主机名创建
require 'net/http' uri = URI('https://jsonplaceholder.typicode.com/') req = Net::HTTP::Get.new(uri) # => #<Net::HTTP::Get GET> req = Net::HTTP::Get.new(uri.hostname) # => #<Net::HTTP::Get GET>
并与任何子类一起使用
req = Net::HTTP::Head.new(uri) # => #<Net::HTTP::Head HEAD> req = Net::HTTP::Post.new(uri) # => #<Net::HTTP::Post POST> req = Net::HTTP::Put.new(uri) # => #<Net::HTTP::Put PUT> # ...
新实例适用于作为 Net::HTTP#request 的参数。
请求头
新请求对象默认具有以下标头字段
req.to_hash # => {"accept-encoding"=>["gzip;q=1.0,deflate;q=0.6,identity;q=0.3"], "accept"=>["*/*"], "user-agent"=>["Ruby"], "host"=>["jsonplaceholder.typicode.com"]}
请参阅
您可以添加标头或覆盖默认标头
# res = Net::HTTP::Get.new(uri, {'foo' => '0', 'bar' => '1'})
此类(以及因此其子类)还(间接)包含模块 Net::HTTPHeader,该模块提供了对 设置标头的方法 的访问。
请求子类
HTTP 请求的子类
WebDAV 请求的子类
Public Class Methods
Source
# File lib/net/http/request.rb, line 82 def initialize(path, initheader = nil) super self.class::METHOD, self.class::REQUEST_HAS_BODY, self.class::RESPONSE_HAS_BODY, path, initheader end
为 path 创建一个 HTTP 请求对象。
initheader 是要使用的默认标头。除非在 initheader 中提供了 Accept-Encoding 或 Range,否则 Net::HTTP 会添加 Accept-Encoding 以启用响应体的压缩。
调用超类方法
BasicObject::new