操作系统:ubuntu 17.04
QT:5.7.1
Openssl:1.02g
我下载了网上通用和最流行的方法:QNetWorkAccessManager
想通过这个类中的GET方法来实现文件的下载和上传。
但理想和饱满,现实太骨感。提示错误:
qt.network.ssl:QSslSocket:cannot resolve SSLv2_client_method
qt.network.ssl:QSslSocket:cannot resolve SSLv2_sever_method
我整整花了两天的时间未能通过QNetWorkAccessManager的GET方法成功的下载FTP上的文件。
网上提议的方法:
1、将libcrypto.so、libcrypto.so.1.0.0、libssl.so、libssl.so.1.0.0拷贝到相应的lib下面。
测试结果:没什么特别的用处,因为提示不是没有库,而是库里某个功能不起作用。
2、重新编译 Openssl:1.0.2g,开启SSL2功能
测试结果:自己编译了十几遍,但是形成的新的类库首先不符合我其他库文件的调用(这个不是重点),最主要的是开启了SSL2还是无法下载FTP的文件,只是不提示错误了,具体原因我真的不想深究了。因为SSL2因为漏洞问题,官方已经在发布默认安装时候禁用SSL2功能了。如此看来我非要启用也是没有必要了。
3、最后我采用了curl。具体使用curl的方法成功下载了FTP上面的文件,具体我使用后总结。