Вопрос

Я пишу 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.

Теперь все работает здорово!

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top