InternetSetCookie returns ERROR_INVALID_OPERATION
本文关键字:INVALID OPERATION ERROR returns InternetSetCookie | 更新日期: 2023-09-27 18:02:32
我正在尝试在我的机器上过期一个cookie。当我调用wininet.dll InternetSetCookie
时,它返回FALSE
,错误代码是4317
,这是通用的ERROR_INVALID_OPERATION
。
[DllImport("wininet.dll", SetLastError = true)]
private static extern bool InternetSetCookie(string lpszUrlName, string lpszCookieName, string lpszCookieData);
public void Main()
{
InternetSetCookie("http://example.com","cookieName","somevalue;expires=Mon, 01 Jan 0001 00:00:00 GMT")
}
是否有任何方法可以获得关于什么操作无效的更多信息?
是否有任何方法可以获得关于什么操作无效的更多信息?
没有。
然而,我得到ERROR_INVALID_OPERATION
,因为我试图设置一个已经设置的cookie(我不能使用InternetSetCookie()
编辑cookie)。我必须使用此功能清除所有cookie。你需要先声明它:
[DllImport("wininet.dll", SetLastError = true)]
private static extern bool InternetSetOption(IntPtr hInternet,int dwOption,IntPtr lpBuffer, int lpdwBufferLength);
然后您可以按照以下方式使用它来清除cookie(注意42
是INTERNET_OPTION_END_BROWSER_SESSION
):
bool isCleared=InternetSetOption(IntPtr.Zero, 42, IntPtr.Zero, 0);