• C#获得cookie的值


    //得到cookie值的方法

    [STAThread]    

    public static string RemoteLogin(string strLoginUrl, string strPostData, string cookieName)    

    {        

      CookieContainer cContainer=new CookieContainer();        

      byte[] data = System.Text.Encoding.ASCII.GetBytes(strPostData);        

      string bResult = "";

          HttpWebRequest myreq = (HttpWebRequest)WebRequest.Create(strLoginUrl);        

      myreq.Referer = strLoginUrl;        

      myreq.Method = "POST";        

      myreq.KeepAlive = true;        

      myreq.AllowAutoRedirect = false;        

      myreq.ContentLength = data.Length;        

       //cookieContainer = new CookieContainer();        

      myreq.CookieContainer = cContainer;        

      myreq.ContentType = "application/x-www-form-urlencoded";

            //这个在Post的时候,一定要加上,如果服务器返回错误,他还会继续再去请求,不会使用之前的错误数据,做返回数据                          

        myreq.ServicePoint.Expect100Continue = false;        

      HttpRequestCachePolicy noCachePolicy = new HttpRequestCachePolicy(HttpRequestCacheLevel.NoCacheNoStore);                             myreq.CachePolicy = noCachePolicy;

           try        

        {            

          Stream newStream = myreq.GetRequestStream();            

          newStream.Write(data, 0, data.Length);            

          newStream.Close();

                  HttpWebResponse myres = (HttpWebResponse)myreq.GetResponse();            

          StreamReader stream;            

          Encoding encoding;            

          if (!string.IsNullOrEmpty(myres.CharacterSet))            

          {                

            encoding = Encoding.GetEncoding(myres.CharacterSet);            

          }            

          else            

          {                

            encoding = Encoding.Default;            

          }            

          stream = new StreamReader(myres.GetResponseStream(), encoding);            

          string strHtml = stream.ReadToEnd();            

          //LogCommon.ilogDebug.Debug(strHtml);                

          if (myres.Cookies[cookieName] != null && !string.IsNullOrEmpty(myres.Cookies[cookieName].Value))                                            {                    

            bResult = myres.Cookies[cookieName].Value;                

          }

                    if (myreq != null)  myreq.Abort();            

             myres.Close();        

          }        

        catch (Exception ex)        

        {             throw ex;         }        

         return bResult;    

    }

    //调用

    RemoteLogin(请求的url,请求需要的参数,cookie的key);

  • 相关阅读:
    [六省联考2017]相逢是问候
    [CQOI2017]老C的键盘
    [CQOI2017]老C的任务
    [CQOI2017]小Q的棋盘
    <sdoi2017>树点涂色
    三分法
    最长回文子串
    hdu3261
    spoj694
    poj1743
  • 原文地址:https://www.cnblogs.com/eryang/p/2659057.html
Copyright © 2020-2023  润新知