Работа через прокси? |
Здравствуйте, гость ( Вход | Регистрация )
Работа через прокси? |
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. Тогда, возможно, тебе надо добавить строчку:
перед установкой адреса прокси сервера. |
|
|
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
и все QHttp будут ходить через этот прокси. |
|
|
prog |
5.6.2008, 8:52
Сообщение
#7
|
Новичок Группа: Новичок Сообщений: 4 Регистрация: 2.6.2008 Пользователь №: 190 Спасибо сказали: 0 раз(а) Репутация: 0 |
Спасибо заработало!!!!!!
Вопрос закрыт. |
|
|
Текстовая версия | Сейчас: 23.11.2024, 2:34 |