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

Это русская секция форума wxWidjets. В этой секции вы можете обсуждать любые вопросы, связанные с wxWidgets на вашем родном языке.
Post Reply
Tapok
Earned a small fee
Earned a small fee
Posts: 22
Joined: Sun Aug 12, 2012 3:41 pm

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

Post by Tapok » Fri Sep 28, 2012 2:24 pm

Всем доброго времени суток.
Стоит задача - получить страничку по заданной ссылке, нужен исключительно ее (странички) исходный код.
Нужна помощь в выборе средств.
Использовать чистые сокеты не подходит (нужно обрабатывать ответы сервера, вдруг редирект). Есть wxHTTP, но как я понял там используются сокеты с флагом wxSOCKET_WAITALL или wxSOCKET_NONE (не блокируют GUI что может привести к печальным последствиям с wxYield).
Вопрос какие можете подсказать стандартные классы подходящие для решения моей задачи либо как заставить wxHTTP использовать "полностью" блокирующие сокеты (вроде есть wxURL, подойдет ли он мне?).
win7x64, codeblocks 12.11, MinGW 5.1.4, wxWidgets 2.8.12

User avatar
bishop.gis
Earned a small fee
Earned a small fee
Posts: 20
Joined: Fri May 25, 2012 6:47 pm

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

Post by bishop.gis » Fri Sep 28, 2012 2:51 pm

Наиболее подходит 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

Tapok
Earned a small fee
Earned a small fee
Posts: 22
Joined: Sun Aug 12, 2012 3:41 pm

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

Post by Tapok » Fri Sep 28, 2012 3:02 pm

хотелось бы испоьзовать стандартные средства...
win7x64, codeblocks 12.11, MinGW 5.1.4, wxWidgets 2.8.12

User avatar
bishop.gis
Earned a small fee
Earned a small fee
Posts: 20
Joined: Fri May 25, 2012 6:47 pm

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

Post by bishop.gis » Fri Sep 28, 2012 4:11 pm

Тогда только wxHTTP (http://docs.wxwidgets.org/trunk/classwx_h_t_t_p.html) со всеми вытекающими ограничениями. Еще могут быть проблемы с https:// и сжатием в zip передаваемых страниц.

ONEEYEMAN
Part Of The Furniture
Part Of The Furniture
Posts: 3402
Joined: Sat Apr 16, 2005 7:22 am
Location: USA, Ukraine

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

Post by ONEEYEMAN » Thu Oct 11, 2012 4:56 am

Доброго времени суток,
А чем wxCURL не подходит? Самое то...

Tapok
Earned a small fee
Earned a small fee
Posts: 22
Joined: Sun Aug 12, 2012 3:41 pm

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

Post by Tapok » Thu Oct 11, 2012 1:48 pm

Доброго времени суток,
А чем wxCURL не подходит? Самое то...
Нехватка опыта/знаний в его подключении, попытка скомпилировать wxCURL, выявила необходимость последней версии wxWidgets, а это нужно разбирать и тд тп новые проблемы подтягивают следующие... Все решаемо, но требует времени. Ну вобщем как то так.
win7x64, codeblocks 12.11, MinGW 5.1.4, wxWidgets 2.8.12

ONEEYEMAN
Part Of The Furniture
Part Of The Furniture
Posts: 3402
Joined: Sat Apr 16, 2005 7:22 am
Location: USA, Ukraine

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

Post by ONEEYEMAN » Thu Oct 11, 2012 3:50 pm

А если использовать wxWidgets + CURL?
CURL на самом деле является стандартом для получения/передачи данных с использованием стандартных проттоколов...

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

User avatar
bishop.gis
Earned a small fee
Earned a small fee
Posts: 20
Joined: Fri May 25, 2012 6:47 pm

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

Post by bishop.gis » Thu Oct 11, 2012 5:48 pm

Компилировать не обязательно - можно взять бинарные сборки: http://curl.haxx.se/download.html

Tapok
Earned a small fee
Earned a small fee
Posts: 22
Joined: Sun Aug 12, 2012 3:41 pm

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

Post by Tapok » Fri Oct 12, 2012 1:28 pm

Еще раз всем доброго времени суток. Пытаюсь собрать 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
win7x64, codeblocks 12.11, MinGW 5.1.4, wxWidgets 2.8.12

ONEEYEMAN
Part Of The Furniture
Part Of The Furniture
Posts: 3402
Joined: Sat Apr 16, 2005 7:22 am
Location: USA, Ukraine

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

Post by ONEEYEMAN » Fri Oct 12, 2012 4:23 pm

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

Спасибо.

Tapok
Earned a small fee
Earned a small fee
Posts: 22
Joined: Sun Aug 12, 2012 3:41 pm

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

Post by Tapok » Fri Oct 12, 2012 5:38 pm

как собиралась библиотека wxWidgets? В смысле интересует параметры "configure".
если имеется в виду с какими параметрами собирался wxWidgets, то:
mingw32-make -f makefile.gcc BUILD=debug UNICODE=1 SHARED=0 MONOLITHIC=1
все остальное по дефолту...
зайдете в каталог где собиралась библиотека и дадите команды: "./wx-config --cxxflags", "./wx-config --libs" увидите какие ключи передавать при компиляции wxCURL.
можно по подробнее, как и куда именно?
win7x64, codeblocks 12.11, MinGW 5.1.4, wxWidgets 2.8.12

User avatar
T-Rex
Moderator
Moderator
Posts: 1178
Joined: Sat Oct 23, 2004 9:58 am
Location: Zaporizhzhya, Ukraine
Contact:

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

Post by T-Rex » Mon Nov 19, 2012 8:41 pm

Если кому интересно, могу дать сорцы wxCURL которые точно с последним wx собираются + CMake скрипты для генерирования проекта (судя по всему VS и CodeBlocks под Win должны поддерживаться). Ну или сам проект VS

Post Reply