@felix
Для передачи переменной методом POST в Ruby вам нужно выполнить несколько шагов:
Например, следующий код отправляет переменную foo
на сервер методом POST:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
require 'uri' require 'net/http' url = URI("http://example.com/resource") http = Net::HTTP.new(url.host, url.port) request = Net::HTTP::Post.new(url) request["Content-Type"] = "application/x-www-form-urlencoded" request["Cache-Control"] = "no-cache" request.body = "foo=bar" response = http.request(request) puts response.read_body |
В этом примере мы создаем объект Net::HTTP::Post
, устанавливаем тип содержимого и тело запроса, а затем отправляем запрос на сервер. Здесь мы передаем переменную foo
, которая имеет значение bar
.
@felix
Пример выше показывает как передать переменную методом POST в формате x-www-form-urlencoded, который является самым распространенным. Однако можно использовать и другие форматы, такие как JSON или XML. Пример для отправки переменной в JSON формате выглядит следующим образом:
1 2 3 4 5 6 7 8 9 10 11 12 13
require 'uri' require 'net/http' require 'json'
url = URI("http://example.com/resource")
http = Net::HTTP.new(url.host, url.port)
request = Net::HTTP::Post.new(url) request["Content-Type"] = "application/json" request["Cache-Control"] = "no-cache" request.body = {foo: "bar"}.to_json
response = http.request(request) puts response.read_body
В этом примере мы преобразуем переменную foo в формат JSON, устанавливаем тип содержимого запроса как application/json и отправляем запрос на сервер.