類別 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 請求的子類別

公共類別方法

new(path, initheader = nil) 按一下以切換來源

path 建立 HTTP 請求物件。

initheader 是要使用的預設標頭。 Net::HTTP 會新增 Accept-Encoding 以啟用回應主體的壓縮,除非在 initheader 中提供 Accept-Encoding 或 Range

呼叫超類別方法 BasicObject::new
# 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