Форум программистов, компьютерный форум, киберфорум
C++ Qt
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.55/20: Рейтинг темы: голосов - 20, средняя оценка - 4.55
0 / 0 / 0
Регистрация: 18.04.2015
Сообщений: 3
1

Прокси в webview на QT

18.04.2015, 12:30. Показов 3945. Ответов 1
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Добрый день! Перекопала уже весь форум и гугл, но никак не могу найти решение своей проблемы: не устанавливаются прокси для webview.

Исходная задача: загружается 1 сайт при открытии окна. По нажатию кнопки устанавливаются прокси и загружается новый сайт в webview уже с другого ip.

Без установки прокси все работает, как только пытаюсь их задать - сайт не грузится (если я правильно понимаю, так и должно быть, когда прокси не подключаются), сама функция выполняется до конца.

Помогите разобраться - как сделать так, чтобы работало) Ни документация, ни гугл меня не спасли.

Код программки:

pr.pro
C++ (Qt)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
QT       += core gui
QT       += webkitwidgets
 
greaterThan(QT_MAJOR_VERSION, 4): QT += widgets
 
TARGET = pr
TEMPLATE = app
 
 
SOURCES += main.cpp\
        mainwindow.cpp
 
HEADERS  += mainwindow.h
 
FORMS    += mainwindow.ui

mainwindow.h
C++ (Qt)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
#ifndef MAINWINDOW_H
#define MAINWINDOW_H
 
#include <QMainWindow>
#include <QWebView>
#include <QPushButton>
#include <QLineEdit>
#include <QKeyEvent>
#include <QMouseEvent>
#include <QNetworkAccessManager>
#include <QNetworkProxy>
 
namespace Ui {
class MainWindow;
}
 
class MainWindow : public QMainWindow
{
    Q_OBJECT
 
public:
    explicit MainWindow(QWidget *parent = 0);
    ~MainWindow();
 
 
private slots:
    void next();
 
private:
    QWebView *webView;
    QPushButton pushButton2;
    QLineEdit lineEdit;
 
 
    Ui::MainWindow *ui;
};
 
#endif // MAINWINDOW_H
main.cpp
C++ (Qt)
1
2
3
4
5
6
7
8
9
10
11
12
13
#include "mainwindow.h"
#include <QtCore>
#include <QtGui>
#include <QApplication>
 
int main(int argc, char *argv[])
{
    QApplication a(argc, argv);
    MainWindow w;
    w.show();
 
    return a.exec();
}
mainwindow.cpp
C++ (Qt)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
#include "mainwindow.h"
#include "ui_mainwindow.h"
 
MainWindow::MainWindow(QWidget *parent) :
    QMainWindow(parent),
    ui(new Ui::MainWindow)
{
 
   ui->setupUi(this);
   connect(ui->pushButton2, SIGNAL(clicked()), this, SLOT(next()));
 
}
 
MainWindow::~MainWindow()
{
    delete ui;
}
 
void MainWindow::next()
{
 
     //вариант 1 - не работает
    QNetworkAccessManager* mg = new QNetworkAccessManager();
    ui->webView->page()->setNetworkAccessManager(mg);
    QString ip = "http://107.182.17.149";
    int port = 3127;
    QNetworkProxy* proxy= new QNetworkProxy( QNetworkProxy::HttpProxy, ip, port);
    mg->setProxy(*proxy);
 
      //вариант 2 - не работает
      /*QNetworkProxy proxy;
      proxy.setType(QNetworkProxy::HttpProxy);
      proxy.setHostName( QString("http://107.182.17.149" )); //или дополнительно QString()
      //proxy.setHostName( "http://107.182.17.149" );
      proxy.setPort( 3127 );
      QNetworkProxy::setApplicationProxy(proxy);*/
 
    //вариант 3 - не работает
   // ui->webView->page()->networkAccessManager()->setProxy( QNetworkProxy( QNetworkProxy::HttpProxy, "http://107.182.17.149", 3127 ) );
 
    ui->webView->load( QUrl("http://ya.ru") );
    ui->lineEdit->setText("выполнилось");
 
 };
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
18.04.2015, 12:30
Ответы с готовыми решениями:

WebView android подключение прокси
Здравствуйте! Помогите пожалуйста, я новичок в android Studio. Я создал обычный браузер на WebView...

Установить прокси для webview
Необходимо установить прокси для webview так как сайт который необходимо загрузить блокируются...

Qt creator. Есть файл aboutDialog.cpp/h с webview, как получить доступ к webview из mainWindow ?
aboutDialog.h #ifndef ABOUTDIALOG_H_ #define ABOUTDIALOG_H_ #include &lt;QtGui/QDialog&gt;...

Как быстро скачивать через прокси с файлообменников или без использования прокси
Доброго времени суток, как вы возможно знаете, для загрузки с облака маил ру или ядаа пользователи...

1
10 / 10 / 7
Регистрация: 03.02.2014
Сообщений: 205
19.04.2015, 01:46 2
Попробуйте для начала подставить адекватный http прокси. Есть вероятность, что адрес прокси-сервера нерабочий и программа банально не получает второго ответа.
0
19.04.2015, 01:46
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
19.04.2015, 01:46
Помогаю со студенческими работами здесь

Прокси сервер и прокси порт в android sdk manager
открываю android sdk manager, он пытается подключиться к интернетам, но у него не получается, т. к....

WPF: Подключение множества прокси и работа с прокси к API
День добрый. В общем, есть множество белых прокси, через каждую из них работаем через API. ...

Цепочка прокси / Как не спалить IP сервера перед прокси
Здравствуйте, такая проблема. Есть свой сервис, который производит автоматический парсинг...

Написание прокси сервера на сокетах. Проброс сообщений основному серверу и возврат значений через прокси
Есть 3 приложения. 1. Клиент. 2. Прокси сервер. 3. Сервер. Что задумано: Запускается клиент...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru