Page 1 of 1

Получить страницу по URL

Posted: Fri Sep 28, 2012 2:24 pm
by Tapok
Всем доброго времени суток.
Стоит задача - получить страничку по заданной ссылке, нужен исключительно ее (странички) исходный код.
Нужна помощь в выборе средств.
Использовать чистые сокеты не подходит (нужно обрабатывать ответы сервера, вдруг редирект). Есть wxHTTP, но как я понял там используются сокеты с флагом wxSOCKET_WAITALL или wxSOCKET_NONE (не блокируют GUI что может привести к печальным последствиям с wxYield).
Вопрос какие можете подсказать стандартные классы подходящие для решения моей задачи либо как заставить wxHTTP использовать "полностью" блокирующие сокеты (вроде есть wxURL, подойдет ли он мне?).

Re: Получить страницу по URL

Posted: Fri Sep 28, 2012 2:51 pm
by bishop.gis
Наиболее подходит wxCURL (http://wxcode.sourceforge.net/components/wxcurl/)
Так же не возбраняется пользоваться curl напрямую, как делаю это я :)
http://wxgis.googlecode.com/svn/trunk/s ... e/curl.cpp
http://wxgis.googlecode.com/svn/trunk/i ... rce/curl.h

Re: Получить страницу по URL

Posted: Fri Sep 28, 2012 3:02 pm
by Tapok
хотелось бы испоьзовать стандартные средства...

Re: Получить страницу по URL

Posted: Fri Sep 28, 2012 4:11 pm
by bishop.gis
Тогда только wxHTTP (http://docs.wxwidgets.org/trunk/classwx_h_t_t_p.html) со всеми вытекающими ограничениями. Еще могут быть проблемы с https:// и сжатием в zip передаваемых страниц.

Re: Получить страницу по URL

Posted: Thu Oct 11, 2012 4:56 am
by ONEEYEMAN
Доброго времени суток,
А чем wxCURL не подходит? Самое то...

Re: Получить страницу по URL

Posted: Thu Oct 11, 2012 1:48 pm
by Tapok
Доброго времени суток,
А чем wxCURL не подходит? Самое то...
Нехватка опыта/знаний в его подключении, попытка скомпилировать wxCURL, выявила необходимость последней версии wxWidgets, а это нужно разбирать и тд тп новые проблемы подтягивают следующие... Все решаемо, но требует времени. Ну вобщем как то так.

Re: Получить страницу по URL

Posted: Thu Oct 11, 2012 3:50 pm
by ONEEYEMAN
А если использовать wxWidgets + CURL?
CURL на самом деле является стандартом для получения/передачи данных с использованием стандартных проттоколов...

*nix/Mac имеют его изначально а под виндой надо компилять, но это просто...

Re: Получить страницу по URL

Posted: Thu Oct 11, 2012 5:48 pm
by bishop.gis
Компилировать не обязательно - можно взять бинарные сборки: http://curl.haxx.se/download.html

Re: Получить страницу по URL

Posted: Fri Oct 12, 2012 1:28 pm
by Tapok
Еще раз всем доброго времени суток. Пытаюсь собрать wxCURL.

использую команду:
mingw32-make -f makefile.gcc WX_DEBUG=0 WX_MONOLITHIC=1 WX_RUNTIME_LIBS=static WX_USE_RTTI=0 WX_USE_EXCEPTIONS=1 WX_UNICODE=1
(подсмотрел в одной из тем на этом форуме, официальную хелпу не нашел)

получаю в ответ:
D:\MinGW\bin\..\lib\gcc\mingw32\3.4.5\..\..\..\..\mingw32\bin\ld.exe: cannot find -lwxmsw29u_xrc
причем "-lwxmsw29u_xrc" даже многострадальный гугл не знает, яндекс дал 1 результат который мне не помог...

буду признателен если кто расталкует что это за "-lwxmsw29u_xrc" и где ее взять и даст ссылку на список+значение флагов при компиляции wxCURL

Re: Получить страницу по URL

Posted: Fri Oct 12, 2012 4:23 pm
by ONEEYEMAN
Доброго времени суток и Вам.
У меня встречный вопрос: а как собиралась библиотека wxWidgets? В смысле интересует параметры "configure".
И еще: если зайдете в каталог где собиралась библиотека и дадите команды: "./wx-config --cxxflags", "./wx-config --libs" увидите какие ключи передавать при компиляции wxCURL.

Спасибо.

Re: Получить страницу по URL

Posted: Fri Oct 12, 2012 5:38 pm
by Tapok
как собиралась библиотека wxWidgets? В смысле интересует параметры "configure".
если имеется в виду с какими параметрами собирался wxWidgets, то:
mingw32-make -f makefile.gcc BUILD=debug UNICODE=1 SHARED=0 MONOLITHIC=1
все остальное по дефолту...
зайдете в каталог где собиралась библиотека и дадите команды: "./wx-config --cxxflags", "./wx-config --libs" увидите какие ключи передавать при компиляции wxCURL.
можно по подробнее, как и куда именно?

Re: Получить страницу по URL

Posted: Mon Nov 19, 2012 8:41 pm
by T-Rex
Если кому интересно, могу дать сорцы wxCURL которые точно с последним wx собираются + CMake скрипты для генерирования проекта (судя по всему VS и CodeBlocks под Win должны поддерживаться). Ну или сам проект VS