класс 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:
Публичные методы класса
Исходный код
# 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 Создает объект запроса HTTP для path.
initheader — это заголовки по умолчанию. Net::HTTP добавляет Accept-Encoding для включения сжатия тела ответа, если Accept-Encoding или Range не указаны в initheader.
BasicObject::new
Ruby Core © 1993–2024 Yukihiro Matsumoto
Licensed under the Ruby License.
Ruby Standard Library © contributors
Licensed under their own licenses.