添加cookie字符串到 CookieContainer 中

 

补充:

  • webrequest 启用cookietainer 才能使用cookie;但是未启用之前可以在http header 中添加cookier字符串让此次http 有cookie;一旦开启了cookiecontainer的话,则在http  header 添加cookie无效。

 

  • cookiename和cookievalue 不能有=号,不能name相同,cookiename 和value 不能有空格

         格式: cookiename=cookievalue

 

 

 

 

 

public CookieContainer addCookieToContainer(string cookie,CookieContainer cc,string domian)
      {
          string[] tempCookies = cookie.Split(';');
          string tempCookie = null;
          int Equallength = 0;//  =的位置
          string cookieKey = null;
          string cookieValue = null;
          //qg.gome.com.cn  cookie
          for (int i = 0; i < tempCookies.Length; i++)
          {
              if (!string.IsNullOrEmpty(tempCookies[i]))
              {
                  tempCookie = tempCookies[i];

                  Equallength = tempCookie.IndexOf("=");

                  if (Equallength != -1)       //有可能cookie 无=,就直接一个cookiename;比如:a=3;ck;abc=;
                  {

                      cookieKey = tempCookie.Substring(0, Equallength).Trim();
                      //cookie=

                      if (Equallength == tempCookie.Length - 1)    //这种是等号后面无值,如:abc=;
                      {
                          cookieValue = "";
                      }
                      else
                      {
                          cookieValue = tempCookie.Substring(Equallength + 1, tempCookie.Length - Equallength - 1).Trim();
                      }
                  }

                  else
                  {
                      cookieKey = tempCookie.Trim();
                      cookieValue = "";
                  }

                      cc.Add(new Cookie(cookieKey, cookieValue, "", domain));

              }

          }

          return cc;
      }

原文地址:https://www.cnblogs.com/StudyLife/p/2592000.html