折腾了好几天终于搞定了,分享一下结果吧
首先网上找的资料都说是要安装openssl,然后把它的两个dll引用进来,libeay32.dll和ssleay32.dll.
出于跨平台的想法,不太想用这个方法,研究了QT其实提供了sslsonfiure方法,应该是支持的。但是各种尝试下来,各种连接失败。
提示qt.network.ssl: QSslSocket: cannot call unresolved function SSLv23_client_method。
经过网上查找,发现QT其实是包含了这个文件,但是并不在环境变量配置下的目录,需要操作一下,文件名和openssl的文件是一样的,具体是不是一样的,反正我是屈服了。
Qt的这个目录下:D:\Qt\Qt5.4.2\Tools\mingw491_32\opt\bin。自带libeay32.dll和ssleay32.dll.
只需要把这个目录下的两个dll拷贝到D:\Qt\Qt5.4.2\5.4\mingw491_32\bin,
就不会提示qt.network.ssl: QSslSocket: cannot call unresolved function SSLv23_client_method。
然后就是测试它的证书先选项,选项不对服务器是不会接收报文的,经过尝试,选择VerifyFNone这个选项。有兴趣的人,可以继续深入了解,反正我是解决问题就好。
HTTPS连接时,可以设置各种证书选项,测试下来,只有VerifyNone和QueryPeer可以进行通讯,其它两个请求被服务器挡掉了。如果有牛人知道,麻烦回复下面,谢谢!
Qt c++以restful方式模拟http与https请求方法
最新推荐文章于 2024-07-15 14:44:54 发布