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 请求的子类