【问题标题】:C# Web Client clear all dataC# Web Client 清除所有数据
【发布时间】:2017-09-23 13:29:13
【问题描述】:

每当我在标准浏览器(Firefox、Chrome...)中清除 cookie 时,我的网站都会给我不同的价值(例如:value="c04f8d84708f9865f4e04802c51c2f90")。 但是当我使用客户端时,我总是得到相同的值,我的代码:

WebClient client1 = new WebClient();
                client1.Headers.Add("Cache-Control", "no-cache");
            client1.CachePolicy = new System.Net.Cache.RequestCachePolicy(System.Net.Cache.RequestCacheLevel.NoCacheNoStore);
            string html = client1.DownloadString("website");
            client1.Dispose();

如何清除所有数据/cookie,以便获得不同的价值?

【问题讨论】:

    标签: c# cookies webclient


    【解决方案1】:

    你试过了吗:

    httpClient.DefaultRequestHeaders.Accept.Clear();
    

    【讨论】:

    • 'WebClient' 不包含'DefaultRequestHeaders' 的定义,并且找不到接受'WebClient' 类型的第一个参数的扩展方法'DefaultRequestHeaders'(您是否缺少 using 指令或程序集引用?)
    • 你能给我看看例子吗,我只是用 HttpWebRequest 试过,但它不起作用,我找不到 httpClient 的任何例子
    • 我也使用 Windows 窗体应用程序
    【解决方案2】:

    使用 HttpRequest 对象而不是 WebClient,希望(如果您对 WebClient 有疑问)一切都会得到解决。如果没有用 HttpRequest 解决,那么问题就在其他地方。 希望这会有所帮助。

    【讨论】:

    • 我尝试使用 HttpWebRequest 但我不知道如何清除 cookie
    • 你可以这样做。 CookieContainer c = new CookieContainer(); var cookies = c.GetCookies(new Uri("google.com")); foreach (cookie co in cookies) { co.Expires = DateTime.Now.Subtract(TimeSpan.FromDays(1)); } 这将使所有 cookie 过期您指定的域。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-11-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-10-24
    • 1970-01-01
    相关资源
    最近更新 更多