Ruby:
Wysyłanie żądania HTTP

Jak to zrobić:

Ruby używa kilku gemów do obsługi HTTP, jak net/http – wbudowane i gotowe do użycia. Oto przykład:

require 'net/http'
require 'uri'

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

puts response

Jeśli uruchomisz ten kod, zobaczysz zawartość strony http://example.com/index.html wyświetlającą się w konsoli.

Deep Dive

Zanim powstały gemy takie jak net/http, httparty czy rest-client, komunikacja HTTP była bardziej skomplikowana. Musiałeś samodzielnie radzić sobie z niższym poziomem szczegółów, takich jak tworzenie gniazd sieciowych i ręczne parsowanie odpowiedzi HTTP. Na szczęście, te biblioteki ułatwiają zadanie, abstrahując większość złożoności.

Alternatywami dla net/httphttparty i rest-client, które oferują bardziej intuicyjne API:

# Z 'httparty'
require 'httparty'

response = HTTParty.get('http://example.com/index.html')
puts response.body
# Z 'rest-client'
require 'rest-client'

response = RestClient.get('http://example.com/index.html')
puts response.body

Implementacje mogą różnić się w zależności od potrzeb – net/http jest dobry do prostych rzeczy, ale dla większych aplikacji warto rozważyć coś bardziej wydajnego. Pamiętaj, że przy każdym z tych rozwiązań musisz obsłużyć możliwe wyjątki i błędy połączenia.

Zobacz także: