WinInet和SessionCookies

WinInet和SessionCookies,cookies,session-cookies,wininet,Cookies,Session Cookies,Wininet,大家好,晚上好 我的应用程序使用InternetSetCookie创建其工作所需的(会话)Cookie。但是,我希望通过删除每个请求后以例如“badcookie”命名的cookie InternetSetCookie(“http://www.domain.com“,”坏饼干“,”); 和 InternetSetCookie(“http://www.domain.com,NULL,“badcookie=”) 但是…在最好的情况下,它将发送cookie,而不带任何值,仅此而已 我的问题是如何完全删除

大家好,晚上好

我的应用程序使用InternetSetCookie创建其工作所需的(会话)Cookie。但是,我希望通过删除每个请求后以例如“badcookie”命名的cookie

InternetSetCookie(“http://www.domain.com“,”坏饼干“,”); 和 InternetSetCookie(“http://www.domain.com,NULL,“badcookie=”)

但是…在最好的情况下,它将发送cookie,而不带任何值,仅此而已

我的问题是如何完全删除此cookie?
(不,我不想让它们永久化并调用cleanup()10次,也许我会为每个请求创建线程,但如果我这样做的话,它会变得很糟糕)

我的答案不是100%完整,但也许这只是一个开始。我建议将cookie的过期时间设置为过去,因为这将强制客户端清除cookie。我不熟悉WinINET语法,所以可能有人有更好的答案。我更喜欢ASP.NET,但这似乎暗示了如何使cookie过期

根据gaor对我最初评论的回应,听起来要完全解决这个问题还有一些工作要做。但希望这会有所帮助,并让一些人指出正确的方向

希望这有帮助

InternetSetCookie(“http://domain.com,NULL,“badcookie=bye;expires=Sat,1970年1月1日00:00:00 GMT”)

这删除了完整的txt文件,其中包含一些其他cookie。在我使用www.domain.com之前,我发现这是一个问题。。。现在我面临着与你发布的链接相同的问题(丢失更多的cookies),但我的问题现在得到了回答


PS这也适用于会话cookie。

我不知道WinINET API,但只是让cookie过期。我想加上这个作为答案,但我不知道这样做的语法。在ASP.NET中就是这样做的。将过期日期设置为过去的日期,客户端上的cookie将被删除。^这适用于我的应用程序创建的cookie,但我刚刚通过IE删除了同名cookie,因此我发送了两个“badcookie”,这样只能删除一个。我建议把大纪元定为到期日。然而,这是一个propper hax,所以可能还有其他解决方案,我将保持此打开状态:)。谢谢David,不用担心,我将以您的名义添加解决方案;)但也许还有其他人!很高兴我能帮上忙。我把我的评论作为一个答案,以防在今后有所帮助。祝你好运