我的软件和某开放平台对接
需要根据请求内容 时间等 一系列数据进行加密,然后生成一个加密URL,访问这个URL,才可以得到真实内容
像qt的网络类 都是请求了, 要等他自己返回了 才可以得到, 之前的类获取网页都是如下方式:
txt=get("http://www.baidu.com");
ChuLi(txt);
log(txt);
这种方式,请求立即返回内容,我可以继续往下执行,不会出现说,我要在SLOT对应的函数里执行ChuLi(txt);和log(txt);
而现在的这种信号的方式,似乎不太好弄哦
比如我访问了网页,需要立即获取返回内容进行处理:
Qstring PostRequest="aaaaa";
QTcpSocket ttcp=new QTcpSocket;
ttcp.connectToHost("www.baidu.com", 80);
ttcp.write(PostRequest,strlen(PostRequest));
connect(ttcp, SIGNAL(readyRead()), this, SLOT(readMessage()));
由于不同的功能块生成的请求连接不同,那么返回的内容也就不同,我用来处理这些内容的函数也就不同,
这种方式,所有内容都给了readMessage() 我如何区分呢?
倘若,我在每个功能函数里,都生成不同的请求连接,然后对应的SLOT都用不同的,那这样感觉好麻烦哦
还是比较习惯传统的, 大家有什么看法 或者有什么指点的吗
总感觉,需要等他的readyRead 信号,觉得可能不及时,万一出现了网络延迟,太麻烦了
------解决方案--------------------
使用QNetworkReply * QNetworkAccessManager::get ( const QNetworkRequest & request )以及finished信号。