Chinaunix首页 | 论坛 | 博客
  • 博客访问: 535763
  • 博文数量: 71
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 159
  • 用 户 组: 普通用户
  • 注册时间: 2013-07-13 12:37
个人简介

aaaaaaaaa

文章分类

全部博文(71)

文章存档

2013年(71)

我的朋友

分类: 嵌入式

2013-07-26 00:53:42

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