Как мне управлять прокси с QT QWebView - PullRequest
4 голосов
/ 20 мая 2011

Вот как я меняю прокси:

QNetworkProxy proxy;
proxy.setType(QNetworkProxy::HttpProxy);
proxy.setHostName("ip");
proxy.setPort(8008);

QNetworkProxy::setApplicationProxy(proxy);

Это работает правильно, если я делаю это до создания WebView. Но если я поменяю прокси во время жизни QWebView, он просто не загрузит любой сайт. Как правильно менять прокси на лету в QT?

Спасибо.

1 Ответ

5 голосов
/ 20 мая 2011

QWebPage :: setNetworkAccessManager В документах метода указано, что

Примечание. В настоящее время не поддерживается изменение диспетчера доступа к сети после его использования QWebPage. Результаты этого не определены.

Таким образом, я предполагаю, что после настройки прокси-сервера для всего приложения и создания QWebPage он получает QNetworkAccessManager, и вы не можете изменять его настройки прокси.

В качестве альтернативы использованию прокси всего приложения, вы, вероятно, можете создать новый QNetworkAccessManager и использовать его метод QNetworkAccessManager :: setProxy () для настройки прокси. Затем передайте этот экземпляр QNetworkAccessManager на свою веб-страницу.

В любом случае, вам нужно поиграть с ним. Надеюсь, это поможет.

...