Доступ к API-интерфейсу через HTTP POST

Как-то понадобилось протестировать API-interface «в ручную». C GET проблем нет —можно просто задать нужные параметры в адресной строке любимого броузера. А вот если нужно отправить данные через POST, то всё становится немного сложнее.

Для решения проблемы я воспользовался любимым curl
Для передачи данных формуляра через POST:

curl -X POST -d "token=RqpnhswuquS6N0PM86dDOQ&user=john&password=badpassword" http://host:port/controller/123.xml

Если это REST через PUT (например, RubyObnRails API), то дабавляем в параметры _method=PUT

curl -X POST -d "_method=PUT&token=RqpnhswuquS6N0PM86dDOQ&user=john&password=badpassword" http://host:port/controller/123.xml

Установка nokogiri на Snow Leopard

Вот такая древняя штука у меня стоит — Mac OS 10.6 Snow Leopard

Обновление стоит времени, которого нет, а установка новых причиндалов на старой системе стоит нервов… и времени.

Решил снести ports и поставить homebrew. Весення чистка, вобщем. Снес ports, с ней ruby, rvm и всё остальное. С горем пополам поставил rvm (у них в этот момент были проблемы с SSL сертификатом), потом еле-еле homebrew встал, повозмущавшись на на права. А вот с установкой Ruby 1.9.3 постоянный затык. То одной библиотеки нехватает, то другой. Потом и руби встал. А Nokogiri нет.

В принципе ничего сложного, всё подробно описано на сайте плагина. Лишь последнюю строчку пришлось подправить.

gem install nokogiri -- --with-xml2-include=/usr/local/Cellar/libxml2/2.7.8/include/libxml2 --with-xml2-lib=/usr/local/Cellar/libxml2/2.7.8/lib  --with-xslt-dir=/usr/local/Cellar/libxslt/1.1.26  --with-iconv-include=/usr/local/Cellar/libiconv/1.13.1/include --with-iconv-lib=/usr/local/Cellar/libiconv/1.13.1/lib

После этого всё заработало. Надеюсь.