CInternetSession怎么删除COOKIE

fffjjjhhh 2014-02-13 04:19:29
多个用户用多个程同时登录一个网站,发现所有线程SESSION的ASP.NET_SessionId都是一样,通过抓包发现除了第一次登录时不带ASP.NET_SessionId,以后所有线程登录时请求包都带一个名字为ASP.NET_SessionId的COOKIE,本来在不同的线程是不同的SESSION,其它线程第一次登录时请求包应不带ASP.NET_SessionId,试着用
以下代码删除也删除不了

this->SetCookie(iUrl ,_T("ASP.NET_SessionId"),_T("deleted; expires=Thu, 01-Jan-1970 00:00:01 GMT"));


或着怎么去掉HTTP头里的COOKIE也行
...全文
180 4 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
fffjjjhhh 2014-02-15
  • 打赏
  • 举报
回复
谢谢dream238 ,添加InternetSetOption(NULL, INTERNET_OPTION_END_BROWSER_SESSION, 0, 0); 后管用了.总结一下AddRequestHeaders是添不了COOKIE的,SetCookie可以添加,但删除不了.只是奇怪的是,就是我用域名访问还是串SESSION,用IP就好了. 还想问一下,出现CInternetException异常即便处理后,程序还是要非法退出.这个问题另发一个贴. 发贴地址: http://bbs.csdn.net/topics/390709167 异常处理如下: catch(CInternetException *pEx) { DWORD dwRet = pEx->m_dwError; pEx->Delete(); return "连接出现错误"; }
oyljerry 2014-02-13
  • 打赏
  • 举报
回复
重新添加HTTP头来修改cookie
见习学术士 2014-02-13
  • 打赏
  • 举报
回复
CHttpFile *pFile = session.GetHttpConnection(pDomain, (INTERNET_PORT)port); pFile = pConnection->OpenRequest(CHttpConnection::HTTP_VERB_POST, "/xxx.html"); pFile->AddRequestHeaders(pHttpHeader);//这里重新添加HTTP头
ArcRain 2014-02-13
  • 打赏
  • 举报
回复
InternetSetOption(NULL, INTERNET_OPTION_END_BROWSER_SESSION, 0, 0); 发送请求前调用以上代码试试

18,363

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 网络编程
c++c语言开发语言 技术论坛(原bbs)
社区管理员
  • 网络编程
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧