其实我想这不该是我问的问题,可是无良经理在此,逼我一个不懂开发的人开发程序。关于《c++ gui qt4编程》也才看到第三章,而且看得是头晕脑胀。
言归正传:程序其他部分我算完成了(行不行还未验证,网上搜来修改的),现在剩下一个发送web请求和接收web服务器回馈消息的部分。
void AutoUpdate::SendReceiveHttp(QString url)
{
//创建一个请求
QNetworkRequest request;
request.setUrl(QUrl(url));
//创建一个管理器
QNetworkAccessManager *manager = new QNetworkAccessManager();
//发送GET请求
QNetworkReply *reply = manager->get(request);
//连接请求结束信号
connect(manager,SIGNAL(finished(QNetworkReply*)),this,
SLOT(replyFinished(QNetworkReplay*)));
}
void AutoUpdate::replyFinished(QNetworkReply* reply)
{
QByteArray data = reply->readAll();
//输出HTML网页代码
qDebug() << data;
}
1,到了connect里replyFinished部分,这算是接收到服务器的信息了吗?
2,发送请求后返回信息应该是只有5-6位的数字,这里输出说是html网页代码,我该如何从中提取这个数字呢?
以前上学的时候总想毕业,毕业后才知道,生活总是有很多无奈。公司不管花多少钱请个人进去干活,总是会想用最少的钱获取最大的利润,能压榨的绝不会手软。无良经理,不止一次给我提出这样无理的要求。本来是和研发讨论如何开发这个程序的问题,最后席间来了一句:这个你来做吧!!!知道什么是无语吗?听后我10几秒说不出话来。。。。。最后研发大哥成了打酱油的,事情都到了我这边。。。。。。(放着好好的研发不用,让我来弄,你猜他是怎么想的)
------解决方案--------------------
基本上是正确的。你在 readAll 之前还要判断网络是否出错,http status code是否是200或206。