【问题标题】:How do you add both a cookie name and value to a Webclient? [duplicate]如何将 cookie 名称和值添加到 Web 客户端? [复制]
【发布时间】:2017-05-22 05:18:15
【问题描述】:

我需要将 2 个 cookie 放在具有特定名称和值的 web 客户端中,而不仅仅是一个值,我有以下代码将 cookie 添加到带有值的标头,但我找不到指定的方法cookie 的名称

System.Net.WebClient HR = new System.Net.WebClient();
HR.Headers.Add(System.Net.HttpRequestHeader.Cookie, "Cookie1 value");
HR.Headers.Add(System.Net.HttpRequestHeader.Cookie, "Cookie2 value");

【问题讨论】:

    标签: c# cookies webclient


    【解决方案1】:

    试试这个:

    HttpCookie cookie = new HttpCookie("The Name I Wish"); // Create a cookie and give it a name
    cookie.Expires = DateTime.Now.AddDays(30);       // expries in one month
    cookie.Value = "Some Value";                          // set value
    HttpContext.Response.Cookies.Add(cookie); 
    
    HttpCookie cookie1 = new HttpCookie("The Other unique Name I Wish"); // Create a cookie and give it a name
    cookie1.Expires = DateTime.Now.AddDays(20);       // expries in 20 days
    cookie1.Value = "Some other value Value";                          // set value
    HttpContext.Response.Cookies.Add(cookie1);
    

    对于通过WebClient 按名称发送 Cookie,您可以编写自己的自定义格式,如下所示:

    wb.Headers.Add(HttpRequestHeader.Cookie, "cookiename=cookievalue"); 
    

    对于按名称的多个 cookie:

    wb.Headers.Add(HttpRequestHeader.Cookie, 
              "cookiename1=cookievalue1;" +
              "cookiename2=cookievalue2");
    

    原答案在这里:Multi Cookies Using WebClient

    【讨论】:

    • 看起来像服务器端代码,OP在客户端苦苦挣扎
    • 但是如何在 WebClient 中实现呢?
    • @DFSFOT 您可以使用 webclient 进行自定义格式。例如:wb.Headers.Add(HttpRequestHeader.Cookie, "cookiename1=cookievalue1);
    • @DFSFOT 我编辑了我的答案检查它
    猜你喜欢
    • 2021-02-10
    • 2010-11-14
    • 1970-01-01
    • 2015-04-06
    • 2012-05-11
    • 2021-05-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多