Скачать URL на C ++ - PullRequest
       30

Скачать URL на C ++

5 голосов
/ 15 июля 2009

Я хочу иметь возможность загружать URL на C ++. Что-то простое, как:

std::string s;
s=download("http://www.example.com/myfile.html");

В идеале это должно включать URL-адреса, такие как:

Я использовал asio в Boost, но на самом деле у него не было кода для обработки протоколов, таких как ftp и https. Теперь я обнаружил, что QT имеет больше того, что мне нужно (http://doc.trolltech.com/2.3/network.html).

Соблазнительно переключиться на Qt, но он кажется немного тяжелым и пересекает многие функции Boost. Стоит ли изучать еще один API (Qt) или Boost может делать больше, чем я думаю?

Ответы [ 5 ]

17 голосов
/ 15 июля 2009

Не прямой ответ, но вы могли бы рассмотреть libCURL , что почти точно то, что вы описываете.

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

3 голосов
/ 15 июля 2009

Я бы не пошел в Qt только ради сетевых вещей, так как на самом деле это не так уж и впечатляюще; Есть много недостающих частей. Я бы только переключился, если вам нужен графический интерфейс, для которого это на высшем уровне.

libCURL довольно прост в использовании и более надежен, чем Qt.

2 голосов
/ 15 июля 2009

Вы можете использовать URLDownloadToFile или URLOpenBlockingStream , хотя cURL, libcurl являются подходящими инструментами для такого рода работ.

2 голосов
/ 15 июля 2009

В Poco Project есть классы для кросс-платформенного HTTP и FTP (и многих других). Есть наложение с бустом. Я недавно нашел это, но не использовал его.

0 голосов
/ 22 августа 2018

У меня все работает без libcurl и WinSock: https://stackoverflow.com/a/51959694/1599699

Отдельное спасибо Нику Дандулакису за предложение URLOpenBlockingStream! Мне это нравится.

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