5

私はPyQt(強力なQtライブラリ用のPythonバインディング)アプリケーションを作成していますが、アプリケーションのごく一部にWebブラウザー(ヒント、OAuth)が必要です。そこで、QtWebkitを使い始めました。ちなみにこれは素晴らしいです。唯一の問題は、プロキシの背後にいるユーザーが自分のアプリケーションを使用できるようにすることです。

QtNetworkパッケージのQNetworkProxyクラスについて読んだことがあり、それでうまくいくはずです。唯一の問題は、プロキシを作成して適用する場合、HTTPで問題なく機能することですが、HTTPS(SSL)URLを渡すと、次のエラーが発生します。

QSslSocket: cannot call unresolved function SSLv3_client_method
QSslSocket: cannot call unresolved function SSL_CTX_new
QSslSocket: cannot call unresolved function SSL_library_init
QSslSocket: cannot call unresolved function ERR_get_error
QSslSocket: cannot call unresolved function ERR_error_string

注:実行すると...

QtNetwork.QSslSocket.supportsSsl()

..falseを返します。それが私の問題の証拠です。

これが私のメインコードです(QApplicationを作成する直前です):

proxy = QtNetwork.QNetworkProxy()
proxy.setType(QtNetwork.QNetworkProxy.Socks5Proxy)
proxy.setHostName('localhost');
proxy.setPort(1337)
QtNetwork.QNetworkProxy.setApplicationProxy(proxy);

ここからコードを取得しましたが、例はPythonではなくC ++で記述されているため、正しく翻訳したかどうかはよくわかりません。それが問題になる可能性があります。

編集: SOCKS5とHTTPプロキシで試してみましたが、どちらも同じエラーをスローします。

4

1 に答える 1

6

私はPython2.6とPyQt4.7.4を使用してWindowsXP(32ビット)で作業していました。その理由...

QtNetwork.QSslSocket.supportsSsl()

システムにOpenSSLバイナリをインストールしていなかったためにfalseが返されていました。

問題を解決するために、私はバイナリをダウンロードするためにここに行きました。それらが正しくインストールされる前に、MicrosoftからVisual C++2008再頒布可能パッケージもインストールする必要がありました。

すべてがうまく機能しています!

于 2010-08-10T12:19:10.327 に答える