• 5057阅读
  • 6回复

https post为什么失败? [复制链接]

上一主题 下一主题
离线stlcours
 

只看楼主 倒序阅读 楼主  发表于: 2014-10-31
        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

离线begboy

只看该作者 1楼 发表于: 2014-11-01
stlcours,你好!
根据我们以前在服务器端和客户端两端开发项目的情况来看,建议
先行检查安装机器是32位还是64位,另外我们一般会搭建三个环境:
1、64位服务器开发环境用于64位服务器端服务程序;
2、32位客户端开发环境用于32位客户端程序;
3.64位客户端开发环境用于64位客户端程序。
这样出问题的很少发生,供参考。

祝好运!
begboy
离线liulin188

只看该作者 2楼 发表于: 2014-11-02
不用扯那么远,楼主的问题就是openssl库的问题
https://wiki.qt.io/Qt_5.12_Release
https://wiki.qt.io/New_Features_in_Qt_5.12
https://wiki.qt.io/Qt_5.12.0_Known_Issues
https://www.qt.io/blog/qt-5.13.2-released
https://www.qt.io/blog/qt-creator-4.10.2-released
https://wiki.qt.io/Qt_5.12_Tools_and_Versions
离线stlcours

只看该作者 3楼 发表于: 2014-11-03
回 begboy 的帖子
begboy:stlcours,你好!
根据我们以前在服务器端和客户端两端开发项目的情况来看,建议
先行检查安装机器是32位还是64位,另外我们一般会搭建三个环境:
1、64位服务器开发环境用于64位服务器端服务程序;
2、32位客户端开发环境用于32位客户端程序;
....... (2014-11-01 23:28) 

谢谢侠客.不过同一套代码,我把它放到XP下编译,编译没问题,运行结果是一样的。所以我仍然估计是OPENSSL的问题。我再想想办法吧。
离线foxgod

只看该作者 4楼 发表于: 2016-05-27
你的请求里面有带request rayload 参数吗,如果有,是什么带的
离线stlcours

只看该作者 5楼 发表于: 2016-05-27
回 foxgod 的帖子
foxgod:你的请求里面有带request rayload 参数吗,如果有,是什么带的 (2016-05-27 16:43) 

没有。我那个问题就是openssl的问题。
离线koenlee93

只看该作者 6楼 发表于: 2018-12-15
先标记下                                                
快速回复
限100 字节
 
上一个 下一个