VerySource

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 903|回复: 3

VC程序中用InternetSetCookie可以设置IE的Cookie吗?

[复制链接]

1

主题

1

帖子

2.00

积分

新手上路

Rank: 1

积分
2.00
发表于 2020-12-24 19:00:02 | 显示全部楼层 |阅读模式
标题:
  VC程序中用InternetSetCookie可以设置IE的Cookie吗?

过程与现象:
  (1) 由用户名,密码:用wininet.lib中的CInternetSession,CHttpConnection 成功登录。
  (2) 取Cookie:InternetGetCookie( (LPCTSTR)strURL, NULL, szCookie, &dwLength ); 成功 取到的Cookie为:ASP.NET_SessionId=xxxxxxx;
  (3) 设置Cookie:IInternetSetCookie((LPCTSTR)strURL,NULL,szCookie ); 成功
  (4) 打开IE:ShellExecute( NULL, "open", "IExplore", (LPCTSTR)strURL,NULL, SW_SHOWNORMAL); 总是出现”Session  Expired“ 警告对话框,我用HttpWatch看HTTP头中没有(3)中设置的Cookie.

想请教的问题:
   (1)用IInternetSetCookie设置的Cookie能否给IE用呀.
   (2)如能的话以上设置为什么不行呀!有那些不对的地方呀?还要设置那些地方?
   (3)以上情况与HTTP SERVER那边有没有关系呢?

致谢:      
  请各位有经验的朋友多指点一下好吗! 先谢了!
回复

使用道具 举报

0

主题

16

帖子

4.00

积分

新手上路

Rank: 1

积分
4.00
发表于 2020-12-24 19:45:01 | 显示全部楼层
lz要干嘛?
回复

使用道具 举报

0

主题

2

帖子

2.00

积分

新手上路

Rank: 1

积分
2.00
发表于 2020-12-24 20:00:01 | 显示全部楼层
楼主的问题和我的差不多.其实你在第二步就出错了.虽然你用getlasterror可以返回0,但你的设置并不生效,当你用Internetsetcookie的时候根本设置不了cookie的值.如果你能设置的话,第三步只要你在调用一次Internetsetcookie就可以了,第一次调用只创建了一个临时的,第二次才会创建一个实在的cookie.而其实你在第二步就出了错,你可以试试把你要设置的cookie里面的内容全复制后删除,然后在设置成原来的内容你会发现,虽然getlasterror返回0但,你并没有设置成这个值.如果你能设置,请贴下代码共同学习,谢谢楼主.
回复

使用道具 举报

0

主题

2

帖子

2.00

积分

新手上路

Rank: 1

积分
2.00
发表于 2020-12-24 20:15:01 | 显示全部楼层
错了是第三步有错.刚才没看好
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|CopyRight © 2008-2023|verysource.com ( 京ICP备17048824号-1 )

快速回复 返回顶部 返回列表