我正在尝试使用来自c#winform应用程序的wininet在客户端创建cookie。 所以我使用这段代码:
[DllImport("wininet.dll", CharSet = CharSet.Auto, SetLastError = true)]
public static extern bool InternetSetCookie
(
string lpszUrlName,
string lbszCookieName,
string lpszCookieData
);
private void btnRestaure_Click(object sender, EventArgs e)
{
try
{
var result = InternetSetCookie("www.mydomain.com", "MyCookie",
"value=helloworld");
}
catch(Exception ex)
{
}
}
InternetSetCookie
返回true,但我无法在 Temporary Internet Files 文件夹中找到该Cookie。
任何线索?
答案 0 :(得分:3)
我认为如果您没有指定过期日期,那么您可以创建会话cookie。如果您想要持久性cookie,请尝试指定过期日期。
我认为这样的cookie只存储在RAM中而不是序列化到磁盘上。而且很可能只对您自己的流程可见。
如果您查看MSDN documentation for InternetSetCookie,则会看到:
InternetSetCookie创建的没有过期日期的Cookie存储在内存中,只能在创建它们的同一进程中使用。包含截止日期的Cookie存储在windows \ cookies目录中。