CDHtmlDialog窗口中有一些连接,点击后调用IE打开连接,如何把CDHtmlDialog的session共享给IE
(我在CDHtmlDialog中自动登陆邮箱,想点击邮件标题后直接IE打开阅读邮件,但现在情况是,打开IE后提示未登陆)

解决方案 »

  1.   

    给你一个思路就是:
    session是会话级的Cookie,存在于你的程序进程内存中,只能在你的进程中使用。
    当然可以调用InternetGetCookie来获取session的值。
    然后调用InternetSetCookie,添加expires字段来把session这个会话级的Cookie变成持久化的Cookie。
    比如:
    InternetSetCookie("http://www.qq.com/",NULL,"session=123456;expires = Sat,01-Jan-2014 00:00:00 GMT");
    这样这个session就变成了持久化的Cookie,当打开新IE窗口时也能使用这个Cookie。已经登录的状态也会继续保持。
    但实际问题比这要复杂,可能需要设置多个Cookie而不仅仅是session这一个。
    另外,设置Cookie时PATH、DOMAIN这些字段也要设置对才行。先抓包分析登录时的响应头,网站是怎么给你Set-Cookie:的。
    如果不明白的话先看一下HTTP协议中关于Cookie的部分。