Beispiel #1
0
        public static CookieContainer DefaultGetCooKie(string loginUrl, string postdata, HttpHeader header)
        {
            HttpWebRequest  request  = null;
            HttpWebResponse response = null;

            try
            {
                CookieContainer cc = new CookieContainer();
                request             = (HttpWebRequest)WebRequest.Create(loginUrl);
                request.Method      = header.method;
                request.ContentType = header.contentType;
                byte[] postdatabyte = Encoding.Default.GetBytes(postdata);
                request.ContentLength     = postdatabyte.Length;
                request.AllowAutoRedirect = false;
                request.CookieContainer   = cc;
                request.KeepAlive         = true;
                request.Method            = "POST";

                //提交请求
                Stream stream;
                stream = request.GetRequestStream();
                stream.Write(postdatabyte, 0, postdatabyte.Length);
                stream.Close();

                //接收响应
                response         = (HttpWebResponse)request.GetResponse();
                response.Cookies = request.CookieContainer.GetCookies(request.RequestUri);

                CookieCollection cook = response.Cookies;
                //Cookie字符串格式
                string strcrook = request.CookieContainer.GetCookieHeader(request.RequestUri);

                return(cc);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
Beispiel #2
0
        /// <summary>
        /// 获取html
        /// </summary>
        /// <param name="getUrl"></param>
        /// <param name="cookieContainer"></param>
        /// <param name="header"></param>
        /// <returns></returns>
        public static string GetHtml(string getUrl, ref CookieContainer cookieContainer, HttpHeader header)
        {
            Thread.Sleep(1000);
            HttpWebRequest  httpWebRequest  = null;
            HttpWebResponse httpWebResponse = null;

            try
            {
                httpWebRequest = (HttpWebRequest)HttpWebRequest.Create(getUrl);
                httpWebRequest.CookieContainer = cookieContainer;
                httpWebRequest.ContentType     = header.contentType;
                httpWebRequest.ServicePoint.ConnectionLimit = header.maxTry;
                httpWebRequest.Referer   = getUrl;
                httpWebRequest.Accept    = header.accept;
                httpWebRequest.UserAgent = header.userAgent;
                httpWebRequest.Method    = "GET";
                httpWebResponse          = (HttpWebResponse)httpWebRequest.GetResponse();
                cookieContainer          = httpWebRequest.CookieContainer;
                Stream       responseStream = httpWebResponse.GetResponseStream();
                StreamReader streamReader   = new StreamReader(responseStream, Encoding.UTF8);
                string       html           = streamReader.ReadToEnd();
                streamReader.Close();
                responseStream.Close();
                httpWebRequest.Abort();
                httpWebResponse.Close();
                return(html);
            }
            catch (Exception e)
            {
                if (httpWebRequest != null)
                {
                    httpWebRequest.Abort();
                }
                if (httpWebResponse != null)
                {
                    httpWebResponse.Close();
                }
                return(string.Empty);
            }
        }