Как передать переменную методом post в ruby?

Пользователь

от felix , в категории: Ruby , 2 года назад

Как передать переменную методом post в ruby?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

Пользователь

от marlen , 2 года назад

@felix 

Для передачи переменной методом POST в Ruby вам нужно выполнить несколько шагов:

  1. Создать объект Net::HTTP для отправки запроса на сервер.
  2. Создать объект Net::HTTP::Post, который представляет запрос методом POST.
  3. Установить заголовки запроса, если это необходимо.
  4. Установить тело запроса, которое должно содержать данные, которые вы хотите отправить.
  5. Отправить запрос на сервер.


Например, следующий код отправляет переменную 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.

Пользователь

от josie , год назад

@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 и отправляем запрос на сервер.