пятница, 1 апреля 2011 г.

cURLpp: реализация комбинации С++ и WEB

Недавно появилась необходимость реализовать инструмент, который будет взаимодействовать с веб REST сервисом: получать информацию об объектах, создавать новые объекты, изменять или удалять старые.

Естественно во весь рост встал вопрос о том какой язык использовать для реализации подобной штуки. Тем более, что времени в обрез. 

Вначале решил использовать C# и .Net Framework, но потом выяснились дополнительные требования:

  1. приложение должно быть кросплатформенным: Mac, PC UNIX
  2. приложение неплохо бы реализовать в виде плагина к SVN, который как известно реализован на плюсах. 

После недолгих рысканий набрел на библиотеку cURLpp, которая является оберткой над libcURL. Вот определение библиотеки на сайте:

a free and easy-to-use client-side URL transfer library, supporting FTPFTPSHTTPHTTPSGOPHERTELNETDICTFILE and LDAP. libcurl supports HTTPS certificates, HTTP POSTHTTP PUTFTP uploading, kerberos, HTTP form based upload, proxies, cookies, user+password authentication, file transfer resume, http proxy tunneling and more!

libcurl is highly portable, it builds and works identically on numerous platforms, including Solaris, NetBSD, FreeBSD, OpenBSD, Darwin, HPUXIRIXAIX, Tru64, Linux, Windows, Amiga, OS/2, BeOs, Mac OS X, Ultrix, QNX, OpenVMS, RISC OS, Novell NetWare, DOS and more…

libcurl is free, thread-safe, IPv6 compatible, feature rich, well supported and fast.

 

К сожалению еще не пробовал данную библиотеку на ощупь. Как только попробую, отпишусь. Пока все выглядит отлично, я смогу сделать все что мне нужно. 

 

А вам приходилось решать аналогичные задачи? Какие решения предпочли вы?

 

Всем доброй ночи.