Exemple #1
0
    /// <summary>
    /// 通过post方法获取到值
    /// </summary>
    /// <param name="loginUrl"></param>
    /// <param name="postdata"></param>
    /// <param name="header"></param>
    /// <returns></returns>
    public static string GetHtml_Post(string Url, string postdata, HttpHeader_new header, CookieContainer cs)
    {
        HttpWebRequest  request  = null;
        HttpWebResponse response = null;

        try
        {
            request = (HttpWebRequest)WebRequest.Create(Url);
            if (header != null)
            {
                List <string> h_list = header.l_strp;
                if (h_list != null)
                {
                    if (h_list.Count > 0)
                    {
                        for (int i = 0; i < h_list.Count; i++)
                        {
                            request = setHeader(request, h_list[i]);
                        }
                    }
                }
            }

            request.ServicePoint.Expect100Continue = false;
            request.AllowAutoRedirect = false;
            request.CookieContainer   = cs;
            request.Timeout           = 5000;//默认是15秒
            request.Method            = "POST";
            byte[] postdatabyte = Encoding.UTF8.GetBytes(postdata);

            //////加上证书认证
            //ServicePointManager.CertificatePolicy = new AcceptAllCertificatePolicy();
            //提交请求
            Stream stream;
            stream = request.GetRequestStream();
            stream.Write(postdatabyte, 0, postdatabyte.Length);
            stream.Close();

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

            Stream       responseStream = response.GetResponseStream();
            StreamReader streamReader   = new StreamReader(responseStream, Encoding.UTF8);
            string       html           = streamReader.ReadToEnd();

            return(html);
        }
        catch (Exception ex)
        {
            return(ex.Message);
        }
    }
Exemple #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, HttpHeader_new header, CookieContainer cookieContainer)
    {
        Thread.Sleep(100);
        HttpWebRequest  httpWebRequest  = null;
        HttpWebResponse httpWebResponse = null;

        try
        {
            httpWebRequest = (HttpWebRequest)HttpWebRequest.Create(getUrl);
            httpWebRequest.CookieContainer = cookieContainer;

            if (header != null)
            {
                List <string> h_list = header.l_strp;
                if (h_list != null)
                {
                    if (h_list.Count > 0)
                    {
                        for (int i = 0; i < h_list.Count; i++)
                        {
                            httpWebRequest = setHeader(httpWebRequest, h_list[i]);
                        }
                    }
                }
            }


            httpWebRequest.Referer = getUrl;
            httpWebRequest.Timeout = 5000;//默认是30秒
            httpWebRequest.Method  = "GET";
            httpWebResponse        = (HttpWebResponse)httpWebRequest.GetResponse();
            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);
        }
    }