Помощь с wxCURL

Это русская секция форума wxWidjets. В этой секции вы можете обсуждать любые вопросы, связанные с wxWidgets на вашем родном языке.
Post Reply
MizantropLoL
Earned a small fee
Earned a small fee
Posts: 18
Joined: Sun May 08, 2016 3:45 pm

Помощь с wxCURL

Post by MizantropLoL »

Здравствуйте. В общем, понадобилось мне в приложении качать файл по https. wxURL не может в https, поэтому погуглив я наткнулся на wxCURL. Скачал, скомпилил (хоть и не с первого раза), но вот что дальше? Посмотрел сэмплы, которые шли с либой, но так и не увидел, как можно скачать что-то по https. Т.е. по http попробовал, скачал, все нормально. А вот для того что надо, как я понял, надо использовать wxCurlDAV. Однако не нашел нигде ни нормального описания функций, ни внятных примеров использования. Собственно, может кто-то показать пример кода, как можно скачать файл по прямой https ссылке?
User avatar
T-Rex
Moderator
Moderator
Posts: 1248
Joined: Sat Oct 23, 2004 9:58 am
Location: Zaporizhzhya, Ukraine
Contact:

Re: Помощь с wxCURL

Post by T-Rex »

Пошел смотреть исходники. Вижу что в дистрибе wxCURL есть сорцы libcurl, а в configure файле wxCURL есть проверка на поддержку SSL в libcurl.

Code: Select all

if test x$libcurl_feature_SSL = xyes ; then
	         _libcurl_protocols="$_libcurl_protocols HTTPS"

		 # FTPS wasn't standards-compliant until version
		 # 7.11.0
		 if test $_libcurl_version -ge 461568; then
		    _libcurl_protocols="$_libcurl_protocols FTPS"
		 fi
	      fi
Получается, для HTTPS, судя по всему, надо чтобы libcurl был собран с libopenssl. В дефолтном конфиге это вроде отключено.

Code: Select all

/* Define if you have the <ssl.h> header file.  */
/* #define HAVE_SSL_H 1 */
Как минимум, надо это включить и сделать так, чтобы при сборке wxCURL и libcurl были использованы либы и заголовки от OpenSSL. Бинарники вроде можно скачать, но я точно уже не помню, там есть версия, собранная с последней VS или нет, может надо будет сначала libopenssl собрать руками.
И вот, собираем libopenssl, включаем поддержку SSL в libcurl, собираем libcurl, подсовывая ей наши собранные файлы libopenssl, собираем wxCURL, дальше для HTTPS используем тот же код, что и для HTTP.
Вроде так.
MizantropLoL
Earned a small fee
Earned a small fee
Posts: 18
Joined: Sun May 08, 2016 3:45 pm

Re: Помощь с wxCURL

Post by MizantropLoL »

Ну, тогда еще стоит упомянуть, что при сборке libcurl (в виде dll) пропущена зависимость от ldap (ЕМНИП), а потом при сборке wxCURL ругалось на какую-то функцию в одном из заголовочных файлов wxWidgets (конкретнее не помню, но решилось добавлением перед std:: перед вызовом).
Собирал с помощью MinGW 5.1 (который TDM-GCC).

А есть где-то пример кода с пояснениями для HTTP, в таком случае?
User avatar
T-Rex
Moderator
Moderator
Posts: 1248
Joined: Sat Oct 23, 2004 9:58 am
Location: Zaporizhzhya, Ukraine
Contact:

Re: Помощь с wxCURL

Post by T-Rex »

Вроде это пример загрузки файлов.
MizantropLoL
Earned a small fee
Earned a small fee
Posts: 18
Joined: Sun May 08, 2016 3:45 pm

Re: Помощь с wxCURL

Post by MizantropLoL »

Если не сложно, помоги, пожалуйста, со сборкой libcurl с поддержкой SSL под винду с помощью MinGW. А то у меня руки-крюки совсем =\
User avatar
T-Rex
Moderator
Moderator
Posts: 1248
Joined: Sat Oct 23, 2004 9:58 am
Location: Zaporizhzhya, Ukraine
Contact:

Re: Помощь с wxCURL

Post by T-Rex »

Не обещаю. Сейчас без MinGW живу, на VS только. Напомни plz в воскресенье, если я сам не отпишу.
MizantropLoL
Earned a small fee
Earned a small fee
Posts: 18
Joined: Sun May 08, 2016 3:45 pm

Re: Помощь с wxCURL

Post by MizantropLoL »

Эт самое. Напоминаю в воскресенье)
MizantropLoL
Earned a small fee
Earned a small fee
Posts: 18
Joined: Sun May 08, 2016 3:45 pm

Re: Помощь с wxCURL

Post by MizantropLoL »

Кстати. А вот такой вопрос еще. Зачем в wxCurlHTTP, логин и пассворд в конструкторе? И от чего, собственно, эти логин и пасс?
User avatar
T-Rex
Moderator
Moderator
Posts: 1248
Joined: Sat Oct 23, 2004 9:58 am
Location: Zaporizhzhya, Ukraine
Contact:

Re: Помощь с wxCURL

Post by T-Rex »

MizantropLoL
Earned a small fee
Earned a small fee
Posts: 18
Joined: Sun May 08, 2016 3:45 pm

Re: Помощь с wxCURL

Post by MizantropLoL »

Я так понимаю, BA не обязательна? Ее можно как-то отключить? Или просто оставить логин и пароль пустыми?

И как там с libcurl с поддержкой SSL? Есть что-то? :roll:
User avatar
T-Rex
Moderator
Moderator
Posts: 1248
Joined: Sat Oct 23, 2004 9:58 am
Location: Zaporizhzhya, Ukraine
Contact:

Re: Помощь с wxCURL

Post by T-Rex »

Судя по документации, логин с паролем можно не указывать.
Со сборкой - в процессе, но есть смысл особо меня не ждать, потому что это будет не очень быстро.
User avatar
T-Rex
Moderator
Moderator
Posts: 1248
Joined: Sat Oct 23, 2004 9:58 am
Location: Zaporizhzhya, Ukraine
Contact:

Re: Помощь с wxCURL

Post by T-Rex »

Что-то сборка с MinGW это таки да, нетривиальная задача. Та версия libcurl, которая в дистрибе wxCURL, либо урезанная, либо старая, пока подружить с OpenSSL у меня не получилось. Как минимум, с 1.1.0b оно не собирается.
Последняя версия libcurl с оффсайта у меня вываливается посредине компиляции и пока нет ни возможности ни желания ковыряться в Makefile, сорри.

Вот вижу тут есть бинарники собранные с SSL
http://www.paehl.com/open_source/?CURL_7.50.2

Рекомендую скачать статик либы, DLL отсюда, и сорцы вот отсюда (той же версии, что и собранное)
https://curl.haxx.se/download.html

Потом при сборке wxCURL попорбовать подложить инклуды и либы скачанные и посмотреть, что получится.
MizantropLoL
Earned a small fee
Earned a small fee
Posts: 18
Joined: Sun May 08, 2016 3:45 pm

Re: Помощь с wxCURL

Post by MizantropLoL »

Я тут немножко пропал.
В общем, скачал бинарники по первой ссылке, закинул в wxcurl/thirdparty/curl/lib, удалил из мэйкфайла сборку thirdparty, собрал wxcurl, попробовал скомпилить пример (wxcurl/samples/dialogs), скомпилировалось, но вываливается с ошибкой "0xc000007b" при запуске. Как я понял, где-то что-то не так собралось? Собирал с флагами CXXFLAGS="std=gnu++11" WX_VERSION=30 WX_SHARED=1
ONEEYEMAN
Part Of The Furniture
Part Of The Furniture
Posts: 7459
Joined: Sat Apr 16, 2005 7:22 am
Location: USA, Ukraine

Re: Помощь с wxCURL

Post by ONEEYEMAN »

Dobrogo vremeni sutok,
U menja vopros (moget dage i ne po teme) - a zachem ispolzovat wxCURL? Nelzya li prosto skachat CURL i ispolzovat normalnyju biblioteku?
CURL ona toge cross-platform library...
MizantropLoL
Earned a small fee
Earned a small fee
Posts: 18
Joined: Sun May 08, 2016 3:45 pm

Re: Помощь с wxCURL

Post by MizantropLoL »

Вот я щас посидел, погуглил и как-то тоже пришел к такому выводу. Поиспользую, наверное, curl
Post Reply