類別 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