class Net::HTTPRequest
Diese Klasse ist die Basisklasse für Net::HTTP-Anfrageklassen. Die Klasse sollte nicht direkt verwendet werden; stattdessen sollten Sie ihre unten aufgeführten Unterklassen verwenden.
Eine Anfrage erstellen
Ein Anfrageobjekt kann entweder mit einer URI oder einem Hostnamen als String erstellt werden.
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>
Und mit einer der Unterklassen.
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> # ...
Die neue Instanz ist als Argument für Net::HTTP#request geeignet.
Anfrageheader
Ein neues Anfrageobjekt hat standardmäßig diese Header-Felder:
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"]}
Siehe
Sie können Header hinzufügen oder Standard-Header überschreiben.
# res = Net::HTTP::Get.new(uri, {'foo' => '0', 'bar' => '1'})
Diese Klasse (und somit ihre Unterklassen) enthält auch (indirekt) das Modul Net::HTTPHeader, das Zugriff auf seine Methoden zum Setzen von Headern bietet.
Anfrage-Unterklassen
Unterklassen für HTTP-Anfragen
Unterklassen für WebDAV-Anfragen
Öffentliche Klassenmethoden
Source
# 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
Erstellt ein HTTP-Anfrageobjekt für path.
initheader sind die zu verwendenden Standard-Header. Net::HTTP fügt Accept-Encoding hinzu, um die Komprimierung des Antwortkörpers zu ermöglichen, es sei denn, Accept-Encoding oder Range sind in initheader angegeben.
BasicObject::new auf.