Поиск:

Ответ в темуСоздание новой темы Создание опроса
> [Qt] QNetworkProxy проблема с socks5, в windows 
:(
    Опции темы
fuckerok
  Дата 31.8.2008, 22:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 112
Регистрация: 30.3.2004
Где: спб

Репутация: нет
Всего: нет



Решил я перенести одну из своих программ с linux на windows.
Все перенеслось на ура, но вот только в работе самой программы были найдены косяки.
А именно в windows Qt напрочь игнорирует поставленные мной настройки proxy (socks5)
Тоесть данные я получаю напрямую, а не через прокси (при том что я их точно поставил) Что самое интересное, что в linux все работает нормально. Программа передает данные через Прокси.


Алгоритм примерно выглядит так
Код

QNetworkProxy *netProxy = new QNetworkProxy;
netProxy->setType(QNetworkProxy::Socks5Proxy);
QRegExp rx("(.+):(\\d+)");
if (rx.indexIn(ui.lineEdit_2->text()) != -1)
{
netProxy->setHostName(rx.cap(1));
netProxy->setPort(rx.cap(2).toLong(NULL, 10));
http->setProxy(*netProxy);
}
http->setHost(url.host(), 80);
http->get(url.path(), buffer);


в linux Qt 4.4.0 (x86_64)
в windows Qt 4.4.1 (x86)
Хотя из-за версий наврятли.
Соорудил небольшой пример, который нормально работает в linux и НЕ нормально в windows
Можно ввести прокси от балды, типа 111:111 и если в windows страница получена не будет, то это уже результат =)
Если у кого-то есть возможность проверить под windows мой пример, то буду признателен, особенно если у вас заработает.

Это сообщение отредактировал(а) fuckerok - 31.8.2008, 22:56

Присоединённый файл ( Кол-во скачиваний: 2 )
Присоединённый файл  lomo.tar.gz 1,59 Kb
--------------------
PM MAIL ICQ   Вверх
necrom
Дата 14.7.2011, 03:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 60
Регистрация: 21.2.2011

Репутация: нет
Всего: нет



Я так опаздал на пару лет, но решение всё таки нашёл )
Фишка в том, что в конструкторе определяешь http объект.
Код

lomo::lomo(QWidget *parent)
    : QWidget(parent)
{
    ui.setupUi(this);
}

lomo::~lomo()
{

}
void lomo::start()
{
    ui.textEdit->clear();
    QUrl url(ui.lineEdit->text());
    
    http = new QHttp(this);
    connect(http, SIGNAL(done(bool)), this, SLOT(done(bool)));
    
    QRegExp rx("(.+):(\\d+)");
    if (rx.indexIn(ui.lineEdit_2->text()) != -1)
    {
        http->setProxy(rx.cap(1), rx.cap(2).toLong(NULL, 10));
        ui.textEdit->insertPlainText("proxy set\n");
    }
    else ui.textEdit->insertPlainText("proxy NOT set\n");
    
    http->setHost(url.host());
    http->get(url.path());
}
void lomo::done(bool error)
{
    ui.textEdit->insertPlainText("done\n");
    if (error) ui.textEdit->insertPlainText("Some Error\n");
    ui.textEdit->insertPlainText(http->readAll());
    connect(http, SIGNAL(done(bool)), this, SLOT(done(bool)));
}


Присоединённый файл ( Кол-во скачиваний: 6 )
Присоединённый файл  lomo.rar 5,96 Kb
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С/С++: Кроссплатформенное программирование, QT/Gtk+/wxWidgets"
JackYF
Любитель
  • В заголовке темы в квадратных скобках обозначьте используемую вами библиотеку, например: [QT],[GTK],[wx].
  • Если вопрос актуален только для некоторой версии библиотеки, либо, если вы пользуетесь не самой последней версией, укажите это. Например: [QT4], [GTK2].
  • Все начинающие изучать Qt - не забудьте зайти сюда.
  • Проставьте несколько ключевых слов темы, чтобы её можно было легче найти.
  • В вопросе укажите полную версию версию библиотеки, а также все дополнительные используемые программные пакеты.
  • Не забывайте пользоваться кнопкой "Код".
  • Телепатов на форуме нет! Задавайте чёткий, конкретный и полный вопрос. Указывайте полностью ошибки компилятора и компоновщика.
  • Новое сообщение должно иметь прямое отношение к тематике этого раздела. Флуд, флейм, оффтопик запрещены.
  • Категорически запрещается обсуждение вареза, "кряков", взлома программ и т.д.

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, Любитель.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | С/С++: Кроссплатформенное программирование, Qt/Gtk+/wxWidgets | Следующая тема »


 




[ Время генерации скрипта: 0.0843 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.