私は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プロキシで試してみましたが、どちらも同じエラーをスローします。