1.使用QNetworkAccessManager来发送HTTP请求,使用QNetworkReply 来接受http请求结果
参考: http://blog.csdn.net/chenlong12580/article/details/7391622
2.在项目发现QNetworkAccessManager是异步的,程序运行起来效果不大好,网上找到一个代码技巧可以使发送请求变为同步,方法就是建立一个循环,在发送请求后立即运行这个循环代码loop.exec(),让程序卡在这个循环,直到请求结束后返回了结果,才退出循环loop.quit()
QNetworkReply *reply = _manager->post(QNetworkRequest(QUrl(SERVER_URL)), data);
QByteArray responseData;
QEventLoop eventLoop;
connect(_manager, SIGNAL(finished(QNetworkReply*)), &eventLoop, SLOT(quit()));
eventLoop.exec(); //block until finish
responseData = reply->readAll();
以上代码来自:
qt同步方式进行http请求 http://coolex.info/blog/196.html
3.
用qt的webview加载html的时候,显示不出来,或者只显示了html代码,没有渲染html
然后用记事本保存为ANSI格式,qt编辑html时选择ISO-8859-1 / latin1 编码,同时 Qt Creator -> 工具 -> 选项 -> 环境 -> 语言 选择 chinese
才能正常加载html,不知道是我机子问题还是确实是编码问题
更多qt编码问题参考:
Qt 编码设置 http://blog.csdn.net/leo115/article/details/7533463
4.让qt开始https支持