PYQT + QTWebkit за прокси
Вопрос
Я пишу PYQT (привязки Python для вселичной библиотеки QT), а небольшая часть моего приложения нуждается в веб-браузере (HINT, OAuth). Поэтому я начал использовать qtwebkit, который фантастичен кстати. Единственным застреванием Я хотел бы позволить пользователям за прокси использовать мое приложение.
Я прочитал о классе QNetWorkProxy в пакете qtnetwork и рисунок, чтобы сделать трюк. Единственная проблема заключается в том, что я создаю и применим прокси, он работает просто отлично по поводу HTTP, но когда я передаю его URL HTTPS (SSL), это дает мне следующие ошибки:
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);
Я получил код от здесь Но пример был написан в C ++, а не на питоне, поэтому я не совсем уверен, что перевел его правильно. Это может быть проблема.
РЕДАКТИРОВАТЬ: Я пробовал через SOCKS5 и HTTP Proxy, и они оба бросают ту же ошибку.
Решение
Я работал над Windows XP (32-разрядной) с Python 2.6 и PYQT 4.7.4. Причина того ...
QtNetwork.QSslSocket.supportsSsl()
возвращался ложный было потому, что я не установил ДВЯЖЕННЫЕ ДВЯЖЕНИЯ в мою систему.
Решить проблему, которую я пошел здесь Для скачивания двоичных файлов. Прежде чем они будут правильно установить, я должен также получить Visual C ++ 2008 Redistributables Установите из Microsoft.
Теперь все работает здорово!