Сохранение веб-страницы на диск с использованием C ++ - PullRequest
0 голосов
/ 29 октября 2011

Мне удалось загрузить "файл" из Интернета с помощью библиотеки wininet, но я не могу сохранить " веб-страница " т.е. что-то, что я могу редактировать позже с помощью текстового редактора или с помощью ifstream.

В таком случае, к каким инструментам мне следует прибегнуть? Может ли wininet сохранить веб-страницу на диск? Стоит ли учитывать cURL (хотя мне не удалось загрузить обычные файлы из-за отсутствия документации cURL)? Нужно ли изучать то, что называется программирование сокетов ?

Примечание: я в Windows, использую MinGW , но могу переключиться на MSVC , если необходимо, я ищу исходный код на веб-странице, в конце концов, я после текст на веб-странице. Кроме того, я не знаком ни с одной из функций в wininet, curl или сокетах. Что мне нужно узнать об этом?

Любая помощь очень ценится!

1 Ответ

3 голосов
/ 29 октября 2011

Если ваша программа будет работать как на Unix Windows , так и , используйте cURL. В противном случае придерживайтесь функций MSVC и WinINet http://msdn.microsoft.com/en-us/library/windows/desktop/aa385473(v=vs.85).aspx Это гораздо проще использовать с точки зрения усилий, необходимых для запуска и распространения вашей программы (особенно если вы не связываете свою программу с cUrl статически. В противном случае вы Вам нужно будет взять libcurl.dll везде, где ваша программа работает в Windows). В WinINet вам просто нужно включить заголовок и библиотеку для использования функций.

Если вы собираетесь использовать WinINet, обратитесь к этому фрагменту кода: http://www.programmershelp.co.uk/showcode.php?e=57 Используйте тот же код, за исключением цикла while. Вместо чтения по одному байту за раз, прочитайте их по частям и запишите их в дескриптор выходного файла.

Если вы собираетесь использовать cURL, обратитесь к этому сообщению: Загрузите файл с использованием libcurl в C / C ++

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