• 2369阅读
  • 1回复

[提问]Qt网络编程一点问题 [复制链接]

上一主题 下一主题
离线雷小某
 

只看楼主 倒序阅读 楼主  发表于: 2013-07-07
最近用Qt5.0.2做了一点和网络有关的东西,流程如下:
1.利用QNetworkAccessManage实例化一个对象network,然后执行network.get(request),这里的request已经用一个指定的QUrl初始化好;
2.根据finished()信号的返回结果,获得其头部信息,其中包括了来自服务器的“Set-Session"字段,内容格式一般是”SessionID=xxxxx; Path=/xxxx“
3.利用QNetworkCookie::parse()解析该字段得到一个QList<QNetworkCookie>对象,并将该对象里的所有元素通过QNetworkCookieJar类里的insertCookie()的方法插入到一个已经实例化的QNetworkCookieJar对象
4.调用方法network.setCookieJar()将之前的QNetworkCookieJar对象作为参数传进
5.此时再次调用network.get(request)
现在问题就出在这里的第五步,我利用抓包工具分析第五步发出去的包,发现即使是设置了cookiejar,里面也不存在cookie字段信息,所以每次服务器的返回信息里面总是存在Set-Cookie字段信息。现在比较疑惑的是按照如上步骤做是不是有什么遗漏的,为何在第四步设置好network的cookiejar后第五步发出去的包里面不会带cookie字段,希望各位帮忙解答。
离线雷小某

只看该作者 1楼 发表于: 2013-07-07
问题解决了,办法:在第三步时换一个办法,不用insertCookie()这个方法,而改用setCookieFromUrl(),将URL参数设置为自己想要连接的目标域名即可
快速回复
限100 字节
 
上一个 下一个