现在的位置: 首页 > 综合 > 正文

HttpWebRequest传输Cookie

2012年11月22日 ⁄ 综合 ⁄ 共 1713字 ⁄ 字号 评论关闭

       private CookieContainer GetCookies()
        {
            CookieContainer myCookieContainer = new CookieContainer();
     
            HttpCookie requestCookie;
            int requestCookiesCount = Request.Cookies.Count;
            for (int i = 0; i < requestCookiesCount; i++)
            {
                requestCookie = Request.Cookies[i];
                Cookie clientCookie = new Cookie(requestCookie.Name, requestCookie.Value, requestCookie.Path, requestCookie.Domain == null ? Request.Url.Host : requestCookie.Domain);
                myCookieContainer.Add(clientCookie);
            }
            return myCookieContainer;
        }

 private string CallPage(string url)
        {
            WebResponse response = null;
            Stream stream = null;
            StreamReader reader = null;

            try
            {
                CookieContainer myCookieContainer = GetCookies();
                HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);
                request.Method = "Get";
                request.CookieContainer = myCookieContainer;
                response = request.GetResponse();
                if (!request.HaveResponse)
                {
                    response.Close();
                    return string.Empty;
                }
                stream = response.GetResponseStream();
                reader = new StreamReader(stream, Encoding.Default);
                return reader.ReadToEnd();
            }
            catch (Exception exception)
            {
                var handled = ExceptionManager.HandleException(exception, "Global");
                throw exception;//TODO
            }
            finally
            {
                if (reader != null) reader.Close();
                if (stream != null) stream.Close();
                if (response != null) response.Close();
            }
        }

抱歉!评论已关闭.