Давным давно в далекой-далекой галактике мне нужно было загружать на сервер файлы, и я не придумал ничего лучшего, чем делать это по протоколу HTTP. Тупо из-за того, что он был наиболее мне известен. Софтина должна был работать в фоновом режиме на компьютере пользователя. Хотелось бы, что бы она работала быстро, поэтому написал ее я на C++.
В итоге все вылилось в класс работы с HTTP c загрузкой файлов, а чтоб софт был еще и кроссплатформенный, использовал я для работы с Socket -ами boost, есть такая кроссплатформенная либа, о которой я мечтал, когда учился писать на C++. Под катом С++ класс. Кроме всего прочего он еще и может и шифровать это все дело. Класс может загружать файлы на сервер, делать POST запросы, не умеет слать большой запрос частями.Small C++ class for working through HTTP protocol using BOOST. It can use POST methods and uploading files