QT http认证问题

有时很流氓 发布于 2016/06/13 17:48
阅读 148
收藏 0
Qt

@东条咲 你好,想跟你请教个问题:

 m_pReply = pManager->post(request, content);

在void Widget::replyFinished(QNetworkReply *reply)读取

QByteArray bytes = reply->readAll();

我需要取其中的2个字段值,ticket和CSRFPreventionToken重新组成JSON文件,我是这么做的:

 str1=str1.append("PVEAuthCookie=");
       str1=str1.append(nCode);
       cout <<str1<<endl;
       QJsonObject jobj;
       jobj.insert("Cookie",str1);
       jobj.insert("CSRFPreventionToken",strUserID);
       QJsonDocument document;
       document.setObject(jobj);
       QByteArray byte_array = document.toJson(QJsonDocument::Compact);

然后还怎么将byte_array 传到HTTP头中,以便于下次get的自动认证呢。

加载中
0
東條・スペンサー・咲
東條・スペンサー・咲

添加HTTP请求头不是用JSON进行描述的,这段代码感觉像是从Python上翻译过来的。

Qt中处理这个问题使用QNetworkRequest的setRawHeader进行处理的。Cookie我也是用setRawHeader手动管理,因为在我这里Qt自带的Cookie管理从没成功过。CSRF那段直接在对应的请求Request里setRawHeader("CSRFPreventionToken", strUserID.toLatin()),第一个参数是QString类型,第二个参数是QByteArray类型。然后用AccessManager直接操作Request即可

有时很流氓
有时很流氓
@东条咲 不在北京啊,还是等您老回北京了,再请您吧35
東條・スペンサー・咲
東條・スペンサー・咲
回复 @有时很流氓 : 可以定明天的机票=w=
東條・スペンサー・咲
東條・スペンサー・咲
回复 @有时很流氓 : 可以的说,咱在210 Northbourne Ave, Braddon ACT 2612, Canberra, Australia. :)
有时很流氓
有时很流氓
用了您的方法,确实没问题了,太谢谢您了,,不知道您周末有时间么,请您吃个饭
返回顶部
顶部