最近在忙活学习QT,发现QT真是对开发者太友好了,简直就是万能积木。
回归正题,交代下背景,自己做了个小项目,需要使用QT的Network Class来对HTTPS网站进行访问。这里就踩了一堆大坑,仅以此贴做记录,同时让后来者少走弯路,因为在这过程中,我发现相关的资料少得可怜。
初步发现问题
在程序的开发过程中,都是使用windows开发,后转入ubuntu,这里跨平台很顺利,可能是项目涉及平台相关的一些东西不多。在ubuntu搭建QT arm目标平台的编译环境
先在这里留一个坑,后面填。
在ubuntu的x86环境下,程序能正常运行,将程序编译为arm程序时,程序也能正常通过。但是当在arm板上做https的访问请求时,由于对错误有处理,处理方式是:
if (accesstoken_reply->error() == QNetworkReply::NoError)
......
{
QVariant statusCodeV = accesstoken_reply->attribute(QNetworkRequest::HttpStatusCodeAttribute);
//statusCodeV是HTTP服务器的相应码,reply->error()是Qt定义的错误码,可以参考QT的文档
qDebug()<<"handle errors here,found error ....code: "<< statusCodeV.toInt()