1

我尝试运行一个简单的程序,该程序是用 Python 编写的,带有 PySide 模块来截取网站的屏幕截图。我正在使用 OpenSSL(已安装)的 Windows 7 上运行此程序。

我收到以下错误:

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
4

1 回答 1

0

我决不相信这个解决方案,因为我做了一个简单的谷歌搜索并遇到了 http://codeblog.vurdalakov.net/2009/11/solution-qsslsocket-cannot-call.html

我相信由于库内的变化,错误会有所不同。

问题

当您尝试使用QSslSocketQNetworkAccessManager类打开 HTTPS URL 时,您会收到以下错误:

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

解决方案

您需要安装 OpenSSL Win32 或 Win64 二进制文件。

  1. 打开 Win32 OpenSSL 安装项目页面。
  2. 下载最新的“light”Win32 或 Win64 安装包,例如“Win32 OpenSSL v0.9.8l Light”。
  3. 将其安装到任何位置。忽略“Microsoft Visual C++ 2008 Redistributables”警告(单击“确定”)并选择将 OpenSSL DLL 复制到“OpenSSL 二进制文件 (\bin) 目录”。
  4. 将\bin 文件夹中的libeay32.dlland复制到您的orssleay32.dll所在的同一位置。QtNetwork4.dllQtNetworkd4.dll
于 2013-01-08T11:55:20.567 回答