LINUX.ORG.RU

Скачать с инета html-файл


0

0

Надо в программе на C++ скачать с инета html-файл (url известен) для последующего разбора. Требование: кроссплатформенность (по крайней мере - windows и linux). Пните в правильном направлении.

anonymous

Просто скачать? Обычные сокеты(в винде winsock). #ifdef для винды и линукса подправишь, что надо, и все будет кроссплатформенно:)

olegk ★★
()
Ответ на: комментарий от Orlangoor

> Дык просто открывая сокет и через http качай... Проблемы то где?

Может у него проблемы с кроссплатформеностью? Тогда use gtk+

Mrak ★★★
()
Ответ на: комментарий от Orlangoor

2Orlangoor:
> Дык просто открывая сокет и через http качай... Проблемы то где?

Ну и нафига такие советы давать? Ты каждый раз велосипед изобретаешь?
Реализация HTTP клиента - не самая тривиальная проблема, подумай
хотя бы о прокси и аутентификации.

HTH

Onanim
()
Ответ на: комментарий от Onanim

>Ну и нафига такие советы давать? Ты каждый раз велосипед изобретаешь? Реализация HTTP клиента - не самая тривиальная проблема, подумай хотя бы о прокси и аутентификации.

Десятка 3 строчек на перле... Все просто

Orlangoor ★★★★★
()
Ответ на: комментарий от Orlangoor

>Десятка 3 строчек на перле... Все просто

<offtop>
import urllib
data = urllib.urlopen (url).read ()
</offtop>

anonymous
()
Ответ на: комментарий от Orlangoor

2Orlangoor:
> Десятка 3 строчек на перле... Все просто

Чукча не читатель? Вопрос был о HTTP-клиенте для C++, какой тут Perl?

P.S. BTW как вариант - просто использовать внешнюю программу типа wget - дешево, сердито и кроссплатформенно ;-)



Onanim
()

OK, всем спасибо. Прокси вроде нет и не предвидится, но о libcurl подумаю. Просто до этого программил под винду на Delphi - там юзабельными нашёл два способа: сокеты и WinInet-функции (из WinAPI). Последний способ проще, но совершенно не годится для приложения, которое постоянно автономно работает с инетом. Иногда при невыясненных обстоятельствах происходит затык, и все последующие вызовы WinInet-функций не срабатывают, хотя инет работает. Помогает только убиение треда и создание нового.

anonymous
()
Ответ на: комментарий от Onanim

>Чукча не читатель? Вопрос был о HTTP-клиенте для C++, какой тут Perl?

Ну я для примера :) А вообщето мой вариант больше подходит для вещей когда лицензия конечного продукта не ясна

Orlangoor ★★★★★
()
Ответ на: комментарий от Orlangoor

> Ну я для примера :) А вообщето мой вариант больше подходит для вещей когда лицензия конечного продукта не ясна

В том числе по этой причине я и советовал lincurl - ее лицензия
разрешает использование в closed-source, BSD, [L]GPL проектах.
http://curl.haxx.se/docs/faq.html

Onanim
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.