QByteArray post_data;
        QString strCompte("login=myname&");
        post_data.append(strCompte);
        post_data.append("key=secret&");
        post_data.append("source=windows");
 
        network_manager = new QNetworkAccessManager();
        QNetworkRequest network_request;
 
        network_request.setHeader(QNetworkRequest::ContentTypeHeader, "application/x-www-form-urlencoded");
        network_request.setHeader(QNetworkRequest::ContentLengthHeader, post_data.length());
        network_request.setUrl(QUrl("https://www.companyxxxx.com/api_check_server.php"));
        connect(network_manager, SIGNAL(finished(QNetworkReply*)), this, SLOT(ReadXML(QNetworkReply*))); // 绑定ReadXML函数
 
就这段话,在公司里3台win7机子上执行成功,2台win7机子上失败,2台winxp上全失败,这是为啥?但是采用同样的网址,但使用http方式发送始终成功。
PS,exe文件同一目录下,已经放置了libeay32.dll和ssleay32.dll,且别的功能可以正常使用。
 
失败的表现是status_code的值始终是0,也不会进入NoError的区块执行:
void LoginDialog::ReadXML(QNetworkReply *reply)
{
    QVariant status_code = reply->attribute(QNetworkRequest::HttpStatusCodeAttribute);
    if(reply->error() == QNetworkReply::NoError) {
      // 执行内容省略
    }
}
开发环境是WIN7 64bit,VS2008+QT4.86