char * lpszHeaders = "Cookie: Key=somevalue"
DWORD dwHeadersLength = strlen(lpszHeaders)
HttpAddRequestHeaders(hOpenRequest, lpszHeaders, dwHeadersLength, HTTP_ADDREQ_FLAG_ADD)
函数会返回成功,但实际上COOKIE可能并没有添加上去,建议在调用HttpOpenRequest时指定INTERNET_FLAG_NO_COOKIES选项。然而这个选项将阻止WinInet内部添加所需的COOKIE,因此你要负责所有必需的COOKIE。另一个函数InternetSetCookie也可以设置COOKIE,但我从未用过。
如果需要检查返回的COOKIE,可以尝试使用HttpQueryInfo,并将其中的dwInfoLevel设置为HTTP_QUERY_SET_COOKIE。
关于正确设置Cookies的方法建议
一 在IE的"工具/Internet选项"的"常规"选项卡中,选择"设置/查看文件",查看所有保存到你电脑里的Cookies。这些文件通常是以 user@domain格式命名的(user是你的本地用户名,domain是所访问的网站的域名。)如果你使用NetsCape浏览器,应该就存放在"C: /PROGRAMFILES/NETS- CAPE/USERS/"里面,与IE不同的是,NETSCAPE是使用一个Cookie文件记录所有网站的Cookies。
二 打开"工具/Internet选项"中的"隐私"选项卡,调整Cookie的安全级别。
通常情况,可以调整到"中高"或者"高"的位置。
多数的论坛站点需要使用Cookie信息,如果你从来不去这些地方,可以将安全级调到"阻止所有Cookies"
如果只是为了禁止个别网站的Cookie,可以单击"编辑 "按钮,将要屏蔽的网站添加到列表中。
在"高级"按钮选项中,你可以对第一方Cookie和第三方的Cookie进行设置,第一方Cookie是你正在浏览的网站的Cookie,第三方Cookie是非正在浏览的网站发给你的Cookie,通常要对第三方Cookie选择"拒绝"。
你如果需要保存 Cookie,可以使用IE的"导入导出"功能,打开"文件/导入导出",按提示 *** 作即可。
祝您愉快!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)