добавить команду 'curl' в sinatra и rails? - PullRequest
0 голосов
/ 10 февраля 2011

(ПОДДЕРЖИВАЕТСЯ ОБ УСТАНОВКЕ CURB. ОТПРАВИЛ НОВЫЙ ВОПРОС НА ПРЕДЛОЖЕНИЕ ОДНОГО ИЗ РЕСПОНДЕНТОВ) Я думал, что curl был «встроенным», но получил неопределенную ошибку метода в приложении sinatra.мне нужно добавить драгоценный камень?

Тот же вопрос для рельсов 3?


Приложение состоит в том, что мне нужно просто «нажать» на внешний URL (http://kickstartme.someplace.com? Action = ACTIONNAME & token = XYZXYZXYZ), чтобы запустить удаленный пультprocess.

внешний URL-адрес возвращает XML, описывающий успех / неудачу в формате:

<session>
  <success>true</success>
  <token>xyzxyzxyz</token>
  <id>abcabcabc</id>
</session>

Так что на самом деле ВСЕ, что мне нужно, это чтобы мои рельсы и приложения sinatra ударили по этому URL-адресу и проанализировали всевозвращается и обрабатывает удаленный сервер без ответа.

Ответы [ 2 ]

2 голосов
/ 11 февраля 2011
require 'open-uri'
require 'nokogiri'
response = open("http://kickstartme.someplace.com?action=ACTIONNAME&token=XYZXYZXYZ").read
doc = Nokogiri::XML(response)
2 голосов
/ 10 февраля 2011

Используйте curb , привязку Ruby к libcurl. Вы получите все функции скручивания без необходимости раскладывать с system.

curl -b "auth=abcdef; ASP.NET_SessionId=lotsatext;" example.com

превращается в

curl = Curl::Easy.new('http://example.com/')
curl.cookies = 'auth=abcdef; ASP.NET_SessionId=big-wall-of-text;'
curl.perform

Больше примеров бордюров

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...