@NakedFace

Как отправлять GET запрос к Яндексу Ruby?

Есть такой запрос, взять из API Яндекса

GET /api2/admin/dkim/status?domain=domain.com&secretkey=yes HTTP/1.1
Host: pddimp.yandex.ru
PddToken: 123456789ABCDEF0000000000000000000000000000000000000

Как его можно отправить через Ruby?
Спасибо.

Пробовал так
require 'net/http'
require 'rubygems'
require 'json'

url = 'https://pddimp.yandex.ru/api2/admin/dkim/status?domain=domain.com&secretkey=yes'
uri = URI.parse(url)

request = Net::HTTP::Get.new(uri.path)
request['PddToken'] = 'some token'

response = Net::HTTP.new(uri.host,uri.port) do |http|
  http.request(request)
end
p response

И так:
headers = {"PddToken" => "some token"}
http = Net::HTTP.new(uri.host,uri.port)

response = http.get(uri.path,headers)
puts response.code
puts response.body

И даже так:
uri = URI('pddimp.yandex.ru/api2/admin/dkim/status?domain=domain.com&secretkey=yes')
params = { "PddToken" => "some token" }
uri.query = URI.encode_www_form(params)

res = Net::HTTP.get_response(uri)
puts res.body if res.is_a?(Net::HTTPSuccess)


Естественно домен и токен писал свой
  • Вопрос задан
  • 756 просмотров
Пригласить эксперта
Ответы на вопрос 2
@vadimstroganov
Используйте гем rest-client

request = RestClient.get("http://pddimp.yandex.ru/api2/admin/dkim/status?domain=domain.com&secretkey=yes",
                    :params => { :"PddToken" => "some token" })
Ответ написан
Комментировать
@musikov2
Получилось не без мучений использовать утилиту cURL для управления ДНС. Мучения возникли из-за кривой справки Яндекса.
1. Почитал про cURL в википедии https://ru.wikipedia.org/wiki/CURL
2. Поставил курл в винду по справке отсюда: Как установить/настроить и использовать cURL в Windows?
qaru.site/questions/12732/how-do-i-installset-up-a...
скачивал отсюда https://curl.haxx.se/dlwiz/?type=bin&os=Win64&flav...
3. Запустил запрос гет и получил адекватный ответ (Внимание - должны быть двойные кавычки!!!)
ГЕТ
curl -H "PddToken: TKJ*****BCQ" "https://pddimp.yandex.ru/api2/admin/dns/list?domai..."
ПОСТ
curl -H "PddToken: TKJ**************" -d "domain=*******.ru&type=A&content=194.**.**.**" "https://pddimp.yandex.ru/api2/admin/dns/add"
Доволен как слон!
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы