Een HTTP-verzoek verzenden

Ruby:
Een HTTP-verzoek verzenden

Hoe te:

Ruby maakt het vrij eenvoudig om HTTP-verzoeken te verzenden. Hier is de snelste manier met de standaardbibliotheek Net::HTTP.

require 'net/http'
require 'uri'

uri = URI('http://example.com')
response = Net::HTTP.get(uri)
puts response

Dit zal de HTML-inhoud van http://example.com uitprinten.

Misschien wil je ook data posten:

require 'net/http'
require 'uri'

uri = URI('http://example.com/api')
res = Net::HTTP.post_form(uri, 'key1' => 'value1', 'key2' => 'value2')
puts res.body

Dit verzendt een POST-verzoek met data en toont de reactie.

Diepgaand:

In het verleden was het verzenden van HTTP-verzoeken omslachtiger, en moest je mogelijk een gem zoals HTTParty gebruiken. Maar Ruby’s ingebouwde Net::HTTP bibliotheek is enorm verbeterd. Het ondersteunt nu de meeste dingen die je nodig zult hebben.

Maar, Net::HTTP kan langdradig zijn. Als je project meer HTTP-functies of syntactische suiker nodig heeft, zijn HTTParty of Faraday geweldige alternatieven. Deze gems bieden een meer expressieve API en kunnen complexere scenario’s aan zoals middleware of verschillende adapters.

Fundamenteel gaat het verzenden van een HTTP-verzoek met Ruby over het creëren van een HTTP-client, het instellen van een verzoekobject met methode, headers en indien nodig een body, en vervolgens het versturen van het verzoek om een reactie te ontvangen.

HTTParty voorbeeld:

require 'httparty'

response = HTTParty.get('http://example.com')
puts response.body

Dit doet hetzelfde als Net::HTTP.get, maar met minder configuratie.

Zie ook:

Voor meer gedetailleerde info zijn de documenten van Ruby erg behulpzaam:

En als je een grote interesse hebt in Ruby’s HTTP-netwerkwerk, neem dan eens een kijkje op: