Russian Qt Forum
Ноябрь 23, 2024, 09:52 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: глобальный прокси  (Прочитано 5387 раз)
Alex Custov
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2063


Просмотр профиля
« : Сентябрь 18, 2009, 17:37 »

Как корректно установить глобальный прокси для HTTP запросов?

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

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

Сообщений: 2063


Просмотр профиля
« Ответ #1 : Сентябрь 19, 2009, 13:32 »

посмотрел снифером - программа посылает "CONNECT 89.248.194.212:3128 HTTP/1.1\r\n" , и прокси отвечает 403 Forbidden.
Записан
Sergey B.
Программист
*****
Offline Offline

Сообщений: 544



Просмотр профиля WWW
« Ответ #2 : Сентябрь 19, 2009, 17:40 »

Прокси с авторизацией?
Записан
Alex Custov
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2063


Просмотр профиля
« Ответ #3 : Сентябрь 19, 2009, 19:33 »

Прокси с авторизацией?

нет, без.

Доп. Поправка - не через QHttp::request(), а QHttp::get(). Прокси при запросах через request() вообще не учитывается. Такие дела.
« Последнее редактирование: Сентябрь 19, 2009, 19:38 от Alex Custov » Записан
Sergey B.
Программист
*****
Offline Offline

Сообщений: 544



Просмотр профиля WWW
« Ответ #4 : Сентябрь 26, 2009, 18:59 »

А если создать прокси, а потом передать его по константной ссылке методу?
Код:
void QNetworkProxy::setApplicationProxy ( const QNetworkProxy & networkProxy )

У вас создаётся временный объект, и он не является ссылкой на константу.
« Последнее редактирование: Сентябрь 26, 2009, 19:02 от Sergey B. » Записан
Alex Custov
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2063


Просмотр профиля
« Ответ #5 : Сентябрь 27, 2009, 17:13 »

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

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


Страница сгенерирована за 0.053 секунд. Запросов: 23.