qt发送https请,状态码为0。

编程小鱼酱
C++领域优质作者
博客专家认证
2017-05-23 03:36:23
QNetworkRequest netRequest;

netRequest.setRawHeader("Accept", "*/*");
netRequest.setRawHeader("Accept-Language", "zh-CN,zh;q=0.8,en-US;q=0.5,en;q=0.3");
netRequest.setRawHeader("Accept-Encoding", "gzip, deflate, br");
netRequest.setRawHeader("Referer", "https://wx.qq.com/");
netRequest.setRawHeader("Accept-Charset", "utf-8;q=0.7,*;q=0.7");
netRequest.setRawHeader("Connection", "keep-alive");

QString codeLogin = RequestFun::Instance().uriConnect();
netRequest.setUrl(QUrl(codeLogin)); //地址信息
if(strUrl.toLower().startsWith("https"))//https请求,需ssl支持(下载openssl拷贝libeay32.dll和ssleay32.dll文件至Qt bin目录或程序运行目录)
{
QSslConfiguration sslConfig;
sslConfig.setPeerVerifyMode(QSslSocket::VerifyNone);
sslConfig.setProtocol(QSsl::TlsV1SslV3);
netRequest.setSslConfiguration(sslConfig);
}

m_pNetworkReply = m_pNetworkManager->get(netRequest); //发起get请求
connect(m_pNetworkReply,SIGNAL(finished()),this,SLOT(slot_requestFinished())); //请求完成信号
m_pTimer->start(nHTTP_TIME);






void HttpFun::slot_requestFinished()
{
m_pTimer->stop();//关闭定时器
QByteArray resultContent = m_pNetworkReply->readAll();
QTextCodec* pCodec = QTextCodec::codecForName("UTF-8");
QString strResult = pCodec->toUnicode(resultContent);
int nHttpCode = m_pNetworkReply->attribute(QNetworkRequest::HttpStatusCodeAttribute).toInt();//http返回码
if(nHttpCode == 200)//成功
{
emit signal_requestFinished(true,strResult);//请求成功
}
else
{
emit signal_requestFinished(false,strResult);//请求失败
}


RequestFun::Instance().SetLoginInfo(strResult.replace(" ", ""));
m_pNetworkReply->deleteLater();
this->deleteLater(); //释放内存
}


nHttpCode 为0,在公司的电脑上是可以 返回200的,在家里电脑就是返回为0 ,
不知道原因是什么。
...全文
775 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
sunnyhyh 2020-12-25
  • 打赏
  • 举报
回复
返回0我也遇到了,具体什么问题呢?
Rainy Chan 2020-01-17
  • 打赏
  • 举报
回复
0可能是连接被拒绝咯 我这边ajax连接bottle服务器,服务挂了就是0
assword 2017-07-16
  • 打赏
  • 举报
回复
楼主解决了吗?
编程小鱼酱 2017-05-24
  • 打赏
  • 举报
回复
怎么沉了~~~~~~~~~~~~~~~~~

16,173

社区成员

发帖
与我相关
我的任务
社区描述
Qt 是一个跨平台应用程序框架。通过使用 Qt,您可以一次性开发应用程序和用户界面,然后将其部署到多个桌面和嵌入式操作系统,而无需重复编写源代码。
社区管理员
  • Qt
  • 亭台六七座
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧