![]() |
|
![]() ![]() ![]() |
|
neosapient |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 672 Регистрация: 16.8.2006 Репутация: нет Всего: 4 |
Помогите новичку отправить запрос по https.
Хочу загрузить данные, для начала в файл. На сайте надо проходить авторизацию. Прочел доку и кучу макулатуры литературы. В результате совсем запутался, а в голове каша. ![]() Вот понасобирал строчки кода, как бы его исправить
Это сообщение отредактировал(а) neosapient - 2.7.2008, 12:38 |
|||
|
||||
SABROG |
|
|||
![]() Hacker ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2481 Регистрация: 18.9.2006 Репутация: 81 Всего: 91 |
|
|||
|
||||
neosapient |
|
||||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 672 Регистрация: 16.8.2006 Репутация: нет Всего: 4 |
Всё в разброд пошло: стоит подключить заголовочный файл
И сразу при попытке скомпилировать выдаются ошибки
P.S. Для примера собирается проект, в котором Qhttp не используются вообще
P.P.S. Пути прописаны C:\Qt\4.4.0\include\QtNetwork Это сообщение отредактировал(а) neosapient - 2.7.2008, 12:53 |
||||||
|
|||||||
SABROG |
|
|||
![]() Hacker ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2481 Регистрация: 18.9.2006 Репутация: 81 Всего: 91 |
Похоже на косяки с компилятором.
Версия Qt для Msvc или Mingw ? Чем собираеш ? Версия компилятора ? Это сообщение отредактировал(а) SABROG - 2.7.2008, 13:04 |
|||
|
||||
neosapient |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 672 Регистрация: 16.8.2006 Репутация: нет Всего: 4 |
На машине VC6 и VC7 (обычно использую VC7 ) Изначально ставил opensource Qt4.3 . Месяц назад скачал и поставил лицензионный пакет интегрированный под VC7 Qt4.4 Собираю компилятором VC7 через командную строку P.S. Что обидно, пример из opensource Qt4.3 \examples\network\http собирается А пример из лицензии Qt4.4 \examples\network\http НЕ собираеться - обидно -------------------- Так, а где объявлены переменные QT_BEGIN_NAMESPACE и QT_END_NAMESPACE и почему они не видяться? Это сообщение отредактировал(а) neosapient - 2.7.2008, 13:27 |
|||
|
||||
anatox91 |
|
|||
![]() программист-самоучка ![]() ![]() Профиль Группа: Участник Сообщений: 699 Регистрация: 12.1.2008 Где: ++Украина.Крым++ Репутация: нет Всего: 13 |
а в .pro-файле есть строчка
? -------------------- The code is the design © Sony VAIO VGN-FW480J ![]() |
|||
|
||||
neosapient |
|
||||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 672 Регистрация: 16.8.2006 Репутация: нет Всего: 4 |
О, помогло избавится от этих ошибок
Пошел тыкаться дальше Ждите постов |
||||||
|
|||||||
neosapient |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 672 Регистрация: 16.8.2006 Репутация: нет Всего: 4 |
Почти готов сдаться
![]() В архиве пример из QT4.3 %QT4Dir%\examples\network\http Когда его запускаешь и указываешь цель скачивания - он подвисает при скачивании. Кто-нибудь решил эту проблему ? Это сообщение отредактировал(а) neosapient - 2.7.2008, 18:57 Присоединённый файл ( Кол-во скачиваний: 5 ) ![]() |
|||
|
||||
SABROG |
|
|||
![]() Hacker ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2481 Регистрация: 18.9.2006 Репутация: 81 Всего: 91 |
Qt сам собирал ? С OpenSSL ?
|
|||
|
||||
neosapient |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 672 Регистрация: 16.8.2006 Репутация: нет Всего: 4 |
Да, QT сам собрал.
Я так понял, что OpenSSL уже встроен в комплект. Выставил только флаги. Тема временно переезжает на http://forum.vingrad.ru/forum/topic-219086...y1568000/0.html Надеюсь сюда ещё вернемся ![]() ------------- сутки спустя Ну вот и вернулись. Так я прав, что вариант OpenSSL уже входит в комплект QT ? ------------- спустя полдня OpenSSL надо ставить отдельно Решил пересобрать согласно статьям http://bombus.jrudevels.org/wiki/howto/psi_qt4 http://forum.sources.ru/index.php?showtopi...mp;view=showall Это сообщение отредактировал(а) neosapient - 3.7.2008, 16:51 |
|||
|
||||
neosapient |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 672 Регистрация: 16.8.2006 Репутация: нет Всего: 4 |
Пересобрал QT4 с флагом -openssl, впрочем так и было до того
Попробовал собрать проект %QTDIR%\examples\network\securesocketclient Вылезла куча ошибок
Какую либу забыл подключить ? QtNetwork включена |
|||
|
||||
neosapient |
|
||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 672 Регистрация: 16.8.2006 Репутация: нет Всего: 4 |
Скачал и установил http://www.slproweb.com/download/Win32OpenSSL-0_9_8g.exe
переконфигурировал QT configure -openssl -I c:\openssl\include -L c:\openssl\lib собираю пример
появляются ошибки не найденной библиотеки
Что требуется подключить, чтобы собрать exe-шник ? Пример прикреплен в архиве Это сообщение отредактировал(а) neosapient - 4.7.2008, 21:06 Присоединённый файл ( Кол-во скачиваний: 9 ) ![]() |
||||
|
|||||
neosapient |
|
||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 672 Регистрация: 16.8.2006 Репутация: нет Всего: 4 |
Windows XP, VC7, QT 4.3.4
----------------
Тут нашел ответ на ошибку не найденой QtNetworkd.lib / QtNetworkd4.lib http://prog.org.ru/forum/index.php/topic,6281.0.html Надо скоректировать строки %QTDIR%\src\network\network.pro
Затем следует пересобрать QtNetworkd.lib / QtNetworkd4.lib Это сообщение отредактировал(а) neosapient - 5.7.2008, 10:41 |
||||
|
|||||
neosapient |
|
||||||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 672 Регистрация: 16.8.2006 Репутация: нет Всего: 4 |
Вроде получилось
httprequest.h
httprequest.cpp
main.cpp
main.pro
Присоединённый файл ( Кол-во скачиваний: 17 ) ![]() |
||||||||
|
|||||||||
neosapient |
|
||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 672 Регистрация: 16.8.2006 Репутация: нет Всего: 4 |
Ещё вопрос, чтоб завершить тему.
Код я представил в посте выше. Надо научиться обрабатывать ошибки SSL. Я правильон понимаю, что следует подключить обработку ошибки от QSslSocket *socket сигнала SIGNAL(sslErrors ( const QList<QSslError> & errors ) на QHttp *http слот ignoreSslErrors()
Либо из-за того , что сокет ssl передан объекту qhttp, то от QHttp *http сигнал SIGNAL(sslErrors ( const QList<QSslError> & errors ) будет приходить на слот ignoreSslErrors()
Откуда приходит сигнал ? Какая форма записи будет правильной ? Это сообщение отредактировал(а) neosapient - 5.7.2008, 11:10 |
||||
|
|||||
neosapient |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 672 Регистрация: 16.8.2006 Репутация: нет Всего: 4 |
Добрый день.
Простите, что вновь поднимаю эту ветку форума, но по непонятной мне причине программа перестала работать. Пример программы приведен двумя постами выше, ничего не менял. Логин и пароль ввожу правильно. Если открываю страницу браузером, то проблем нет. Программа подключается к указаному серверу. Висит секунд 5-10, затем вызавается void HttpRequest::httpRequestFinished(int requestId, bool error) В переменной error - стоит флаг true. Распечатываю ошибки qDebug() << http->errorString(); qDebug() << socket->errorString(); Мне печатается "Host not found" Как избавиться от косяка ? |
|||
|
||||
SABROG |
|
|||
![]() Hacker ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2481 Регистрация: 18.9.2006 Репутация: 81 Всего: 91 |
Название хоста передаешь с "http" ?
|
|||
|
||||
neosapient |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 672 Регистрация: 16.8.2006 Репутация: нет Всего: 4 |
>> Название хоста передаешь с "http" ?
Название хоста ввожу с "https" --------------------------- Сейчас начинаю думать в сторону загружености сети С утра всё работало. Днем не работает, хотя страницу возможно вытянуть через браузер. Сейчас (к концу вечера) опять работает. Может можно как либо повысить приоретет запроса старицы (хотя подозреваю что вопрос абсурдный) Итак, код не менял, а прога то работает, то нет. Думаю, что все зависит от загружености сети. Можно ли как-либо управлять ситуацией, чтоб страница грузилась? |
|||
|
||||
SABROG |
|
|||
![]() Hacker ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2481 Регистрация: 18.9.2006 Репутация: 81 Всего: 91 |
||||
|
||||
neosapient |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 672 Регистрация: 16.8.2006 Репутация: нет Всего: 4 |
Попробовал "www.someurl.com/sometext.htm" Если работать без "http" или "https", то сразу выдается сообщение с ошибкой "No server set to connect to" |
|||
|
||||
SABROG |
|
|||
![]() Hacker ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2481 Регистрация: 18.9.2006 Репутация: 81 Всего: 91 |
Дык извините, вы имя хоста передаете или Url ? Only "www.someurl.com" без /sometext.htm тогда. |
|||
|
||||
![]() ![]() ![]() |
Правила форума "С/С++: Кроссплатформенное программирование, QT/Gtk+/wxWidgets" | |
|
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, Любитель. |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | С/С++: Кроссплатформенное программирование, Qt/Gtk+/wxWidgets | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |