IE的Cookie默认存储目录到底是C:/Documents and Settings/[user name]/Cookies/还是C:/Documents and Settings/[user name]/Local Settings/Temporary Internet Files/呢?
为什么我的C:/Documents and Settings/[user name]/Cookies/目录下仅有一个index.dat文件?这个文件是干嘛用的?
以前记得是在Cookies目录中的,但现在好像是在Temporary Internet Files目录,但Temporary Internet Files目录记录又好像不全,哎~晕了,求解救...

解决方案 »

  1.   

    IE是把cookie保存在C:\Documents and Settings\用户名\Cookies中,每个cookie是一个txt文件,文件名是以“用户名@网站URL”命名的;
      

  2.   

    为嘛我的没有呢?那个目录只有一个index.dat文件
      

  3.   

    还得看是不是保护模式,保护模式的cookie和信任站点的是分开的。如果你的程序运行在Medium IL(也就是信任站点一级),那么可以用IEGetProtectedModeCookie访问保护模式的cookie。如果你的程序运行在Low IL(也就是保护模式一级)那么你无权访问信任站点的cookie。
    如果你要访问的是同IL的文件Cookie(http only的cookie只能在进程内访问)
    if (com.sun.jna.Platform.isWindows())
    {
                HWND hwndOwner = null;
                int nFolder = Shell32.CSIDL_INTERNET_CACHE;
                HANDLE hToken = null;
                int dwFlags = Shell32.SHGFP_TYPE_CURRENT;
                char[] pszPath = new char[Shell32.MAX_PATH];
                int hResult = Shell32.INSTANCE.SHGetFolderPath(hwndOwner, nFolder,
                        hToken, dwFlags, pszPath);
                if (Shell32.S_OK == hResult) {
    ……