crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

 
Тема закрытаНачать новую тему
> Работа через прокси?
prog
  опции профиля:
сообщение 2.6.2008, 22:32
Сообщение #1


Новичок


Группа: Новичок
Сообщений: 4
Регистрация: 2.6.2008
Пользователь №: 190

Спасибо сказали: 0 раз(а)




Репутация:   0  


Привет всем!!! (Qt 4.3.3. Linux Slackware)
Недавно начал оcваивать Qt Вот возник вопрос.
Мне нужно доработать /example/network/http так, чтобы он работал через прокси 10.10.10.2 порт 3128
Я пытаюсь след образом:
================
httpwindow.cpp
QHttp::ConnectionMode mode = url.scheme().toLower() == "http" ? QHttp::ConnectionModeHttps :QHttp::ConnectionModeHttp;
http->setProxy("10.10.10.2", 3128); //<<<<<<<<<<<<<<<<<<<<<<<<<<<< мое
http->setHost(url.host(), mode, url.port() == -1 ? 0 : url.port());
ИТД
================
В итоге тишина. Index.html появляется а папке с бинарником но он пустой:(
Как быть куда копать?
С уважением, Владимир.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Litkevich Yuriy
  опции профиля:
сообщение 3.6.2008, 1:16
Сообщение #2


разработчик РЭА
*******

Группа: Сомодератор
Сообщений: 9669
Регистрация: 9.1.2008
Из: Тюмень
Пользователь №: 64

Спасибо сказали: 807 раз(а)




Репутация:   94  


я думаю, что IP адрес и HostName это может не одно и тоже, хотя может и нормально.
Еще обрати внимание на такую штуку:
Цитата
QNetworkProxy::QNetworkProxy ()
Constructs a QNetworkProxy with DefaultProxy type; the proxy type is determined by applicationProxy(), which defaults to NoProxy.


Тогда, возможно, тебе надо добавить строчку:
http->setProxy(QNetworkProxy::HttpProxy);

перед установкой адреса прокси сервера.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
prog
  опции профиля:
сообщение 3.6.2008, 21:10
Сообщение #3


Новичок


Группа: Новичок
Сообщений: 4
Регистрация: 2.6.2008
Пользователь №: 190

Спасибо сказали: 0 раз(а)




Репутация:   0  


Делаю так
======================================
QString localFileName = "ind.htm";
file.setFileName(localFileName);
if (!file.open(QIODevice::WriteOnly)) {
cerr << "Error: Cannot open " << qPrintable(file.fileName())
<< " for writing: " << qPrintable(file.errorString())
<< endl;
return false;
}
http.setProxy(QNetworkProxy::HttpProxy); //пытался еще и Socks5Proxy с портом 1080
http.setProxy("station.net", 3128); //http://station.net

http.setHost("trolltech.com");
http.get("/index.html", &file);
http.close();
return true;
===================================
в main.cpp QObject::connect(&getter, SIGNAL(done()), &app, SLOT(quit()));
Программа запускается и висит:(
Через этот прокси работает броузер и многие др проги.
Скажите как посмотреть коды ошибок (enum QHttp::Error) или еще как можно отловить проблему?
Программа прокси globax (спутниковый инет).
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Litkevich Yuriy
  опции профиля:
сообщение 3.6.2008, 22:14
Сообщение #4


разработчик РЭА
*******

Группа: Сомодератор
Сообщений: 9669
Регистрация: 9.1.2008
Из: Тюмень
Пользователь №: 64

Спасибо сказали: 807 раз(а)




Репутация:   94  


добавь в файл проекта такую строку:
CONFIG += console
(сделай qmake)
а в файл cpp:
#include <QDebug>
и перед сетпрокси добавь qDebug():
qDebug() << http.setProxy("station.net", 3128);
тогда при запущеной программе в консоль должна выводится отладочная информация.

Но на Линухе я точно не знаю как это будет выглядеть, по идее вывод идет в stderror.
Если работаешь в IDE то поидее в ее консоли, если без IDE, то видимо в 10-ую консоль (переключится можно так <Ctrl>+<Alt>+<F10>)
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
prog
  опции профиля:
сообщение 4.6.2008, 10:57
Сообщение #5


Новичок


Группа: Новичок
Сообщений: 4
Регистрация: 2.6.2008
Пользователь №: 190

Спасибо сказали: 0 раз(а)




Репутация:   0  


Сделал, перекомпилил.
При запуске в консоль выводит 1 (единичку) и висит
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
sploid
  опции профиля:
сообщение 4.6.2008, 16:29
Сообщение #6


Студент
*

Группа: Участник
Сообщений: 51
Регистрация: 26.2.2008
Из: Москва
Пользователь №: 106

Спасибо сказали: 10 раз(а)




Репутация:   1  


в функции main, после создания QApplication
QNetworkProxy::setApplicationProxy ( QNetworkProxy(QNetworkProxy::HttpProxy, "station.net", 3128 ) );

и все QHttp будут ходить через этот прокси.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
prog
  опции профиля:
сообщение 5.6.2008, 8:52
Сообщение #7


Новичок


Группа: Новичок
Сообщений: 4
Регистрация: 2.6.2008
Пользователь №: 190

Спасибо сказали: 0 раз(а)




Репутация:   0  


Спасибо заработало!!!!!!
Вопрос закрыт.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Тема закрытаНачать новую тему
Теги
Нет тегов для показа


1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0




RSS Текстовая версия Сейчас: 23.11.2024, 10:11