Ruby:
Einen HTTP-Request senden
How to:
Verwende die ’net/http’ Standardbibliothek von Ruby, um eine einfache GET-Anfrage zu senden:
require 'net/http'
require 'uri'
uri = URI('http://example.com')
response = Net::HTTP.get_response(uri)
puts response.bodySample output für eine erfolgreiche Antwort könnte so aussehen:
<!doctype html>
<html>
...
</html>Um eine POST-Anfrage zu senden, baust du es ein wenig um:
require 'net/http'
require 'uri'
uri = URI('http://example.com')
request = Net::HTTP::Post.new(uri, 'Content-Type' => 'application/json')
request.body = '{ "my_data": "value" }'
response = Net::HTTP.start(uri.hostname, uri.port) do |http|
http.request(request)
end
puts response.bodyDeep Dive
Die Fähigkeit, HTTP-Anfragen zu senden, entstand früh in der Entwicklung des Internets, als es darum ging, wie Computer miteinander sprechen. Es gibt auch andere Bibliotheken in Ruby, wie Faraday oder HTTParty, die den gleichen Zweck erfüllen, oft mit mehr Funktionen oder einfacherer Syntax. Bei der Implementierung von HTTP-Anfragen musst du auch Aspekte wie Timeouts, Error Handling und Header Management im Blick haben. Die Wahl der Bibliothek kann von diesen Anforderungen stark beeinflusst werden.
See Also
- HTTParty GitHub repository: https://github.com/jnunemaker/httparty
- Faraday GitHub repository: https://github.com/lostisland/faraday