Russian Qt Forum

Qt => Работа с сетью => Тема начата: Alex Custov от Сентября 18, 2009, 17:37



Название: глобальный прокси
Отправлено: Alex Custov от Сентября 18, 2009, 17:37
Как корректно установить глобальный прокси для HTTP запросов?

Пробую
Код:
QNetworkProxy::setApplicationProxy(QNetworkProxy(QNetworkProxy::HttpProxy, "89.248.194.212", 3128));

И код, отсылающий запросы через QHttp::request(), получает сигнал QHttp::done() с ошибкой "HTTP request failed". QNetworkProxy::HttpCachingProxy даёт аналогичную ошибку. Прокси проверял в Опере - работает.


Название: Re: глобальный прокси
Отправлено: Alex Custov от Сентября 19, 2009, 13:32
посмотрел снифером - программа посылает "CONNECT 89.248.194.212:3128 HTTP/1.1\r\n" , и прокси отвечает 403 Forbidden.


Название: Re: глобальный прокси
Отправлено: Sergey B. от Сентября 19, 2009, 17:40
Прокси с авторизацией?


Название: Re: глобальный прокси
Отправлено: Alex Custov от Сентября 19, 2009, 19:33
Прокси с авторизацией?

нет, без.

Доп. Поправка - не через QHttp::request(), а QHttp::get(). Прокси при запросах через request() вообще не учитывается. Такие дела.


Название: Re: глобальный прокси
Отправлено: Sergey B. от Сентября 26, 2009, 18:59
А если создать прокси, а потом передать его по константной ссылке методу?
Код:
void QNetworkProxy::setApplicationProxy ( const QNetworkProxy & networkProxy )

У вас создаётся временный объект, и он не является ссылкой на константу.


Название: Re: глобальный прокси
Отправлено: Alex Custov от Сентября 27, 2009, 17:13
У вас создаётся временный объект, и он не является ссылкой на константу.

Ссылка будет верна как минимум пока идёт вызов метода setApplicationProxy(), это тут не играет никакой роли. Банальная проверка - "qDebug() << QNetworkProxy::applicationProxy()".