Spec-Zone.ru › Ruby 4.0
  1. Net::
  2. HTTPRequest

class Net::HTTPRequest

Родительский класс:
Net::HTTPGenericRequest

Этот класс является базовым классом для классов HTTP-запросов 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"]}

См.:

  • Заголовок запроса Accept-Encoding и Сжатие и распаковка.

  • Заголовок запроса Accept.

  • Заголовок запроса User-Agent.

  • Заголовок запроса Host.

Вы можете добавлять заголовки или переопределять заголовки по умолчанию:

#   res = Net::HTTP::Get.new(uri, {'foo' => '0', 'bar' => '1'})

Этот класс (а значит, и его подклассы) также включает (косвенно) модуль Net::HTTPHeader, предоставляющий доступ к методам установки заголовков.

Подклассы запросов

Подклассы для HTTP-запросов:

  • Net::HTTP::Get

  • Net::HTTP::Head

  • Net::HTTP::Post

  • Net::HTTP::Put

  • Net::HTTP::Delete

  • Net::HTTP::Options

  • Net::HTTP::Trace

  • Net::HTTP::Patch

Подклассы для запросов WebDAV:

  • Net::HTTP::Propfind

  • Net::HTTP::Proppatch

  • Net::HTTP::Mkcol

  • Net::HTTP::Copy

  • Net::HTTP::Move

  • Net::HTTP::Lock

  • Net::HTTP::Unlock

Открытые методы класса

new (path, initheader = nil) Показать исходный код
# 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, чтобы включить сжатие тела ответа, если в initheader не указаны Accept-Encoding или Range.

Вызывает метод суперкласса BasicObject::new

Ruby Core © 1993–2025 Yukihiro Matsumoto
Licensed under the Ruby License.
Ruby Standard Library © contributors
Licensed under their own licenses.

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API