Взгляните на документы для Net :: HTTP's post
метода.Он принимает path
значения uri, данные (XML), которые вы хотите опубликовать, затем заголовки, которые вы хотите установить.Он возвращает ответ и тело в виде двухэлементного массива.
Я не могу проверить это, потому что вы скрыли хост, и шансы хорошие, он принимает зарегистрированный аккаунт, но код выглядит правильно счто я помню при использовании Net :: HTTP.
require 'net/http'
require 'uri'
uri = URI.parse("https://rs.xxx-travel.com/wbsapi/RequestListenerServlet")
https = Net::HTTP.new(uri.host, uri.port)
https.use_ssl = true
req, body = https.post(uri.path, '<xml><blah></blah></xml>', {"Accept-Encoding" => 'gzip'})
puts "#{body.size} bytes received."
req.each{ |h,v| puts "#{h}: #{v}" }
Посмотрите на Typhoeus как на альтернативу, и, на мой взгляд, проще использовать gem, особенно «Выполнение быстрых запросов»раздел.