4

これが私がプロキシを変更する方法です:

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

QNetworkProxy::setApplicationProxy(proxy);

WebViewを作成する前に実行すると、正しく機能します。しかし、QWebViewの存続期間中にプロキシを変更すると、サイトが読み込まれなくなります。QTでプロキシをオンザフライで変更する適切な方法は何ですか?

ありがとう。

4

1 に答える 1

5

QWebPage::setNetworkAccessManagerメソッドのドキュメントには、

注: 現在、QWebPage がネットワーク アクセス マネージャーを使用した後にネットワーク アクセス マネージャーを変更することはサポートされていません。これを行った結果は未定義です。

したがって、アプリケーション全体のプロキシをセットアップし、QWebPage が構築されると、QNetworkAccessManager が取得され、プロキシ設定を変更できないと思います。

アプリケーション全体のプロキシを使用する代わりに、おそらく新しい QNetworkAccessManager を作成し、その QNetworkAccessManager::setProxy() メソッドを使用してプロキシをセットアップできます。次に、この QNetworkAccessManager インスタンスを Web ページに渡します。

とにかく、あなたはそれで遊ぶ必要があります。これが役立つことを願っています。

于 2011-05-20T14:16:24.727 に答える