Ukázka použití knihovny net/http a net/https. V této ukázce posílám metodou POST data na vzdálený server. Parametr url
obsahuje utl na které se něco posílá, například https://server.example.com/applikace/data
. Parametr vars
pak obsahuje hash pojmenovaných hodnot.
require 'uri' require 'net/http' require 'net/https' # Informace potřebné pro přihlášení k serveru metodou basic_auth USERNAME = 'uzivatel' PASSWORD = 'jehoheslo' # POST the vars to url def post url, vars uri = URI.parse url req = Net::HTTP::Post.new uri.path req.basic_auth USERNAME, PASSWORD req.set_form_data(vars) http = Net::HTTP.new uri.host, uri.port if uri.port == 443 then http.use_ssl = true http.verify_mode = OpenSSL::SSL::VERIFY_NONE #http.verify_mode = OpenSSL::SSL::VERIFY_PEER #http.ca_file = File.join(File.dirname(__FILE__), "cacert.pem") # Systémové certifikáty jsou v souborech v adresáři /etc/ssl/certs/ end http.start { |http| res = http.request req puts res.body } end if $0 == __FILE__ hodnoty_k_odeslani = {'agent' => 'true', 'passw' => 'heslo', 'teplota' => '21.4'} post 'https://server.example.org/teplomer/teplota', hodnoty_k_odeslani end