我正试图在我的机器上过期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")
}
无论如何都可以获得有关哪些操作无效的更多信息?
答案 0 :(得分:0)
无论如何都可以获得有关哪些操作无效的更多信息?
不,没有。
但是,我收到了ERROR_INVALID_OPERATION
,因为我正在尝试设置已设置的Cookie(我无法使用InternetSetCookie()
编辑Cookie)。我必须使用此function清除所有Cookie。你需要先声明它:
[DllImport("wininet.dll", SetLastError = true)]
private static extern bool InternetSetOption(IntPtr hInternet,int dwOption,IntPtr lpBuffer, int lpdwBufferLength);
然后您可以按以下方式使用它来清除Cookie(Note that 42
is INTERNET_OPTION_END_BROWSER_SESSION
):
bool isCleared=InternetSetOption(IntPtr.Zero, 42, IntPtr.Zero, 0);