WebRequest post读取源码

来源:互联网 发布:小熊软件下载 编辑:程序博客网 时间:2024/05/18 09:18

     

       static string GetHTML()
        {
            string url = "
http://flights.ctrip.com/booking/bjs-sha----adu-1/";


            string param = "dayoffset=3&ddate1=2013-01-18&dcityname1=%u5317%u4eac&acityname1=%u4e0a%u6d77";


            Uri uri = new Uri(url);


            WebRequest myReq = WebRequest.Create(uri);


            myReq.Method = "Post";

 

            myReq.Headers.Add("Accept-Encoding", "gzip,deflate,sdch");


            byte[] byData = Encoding.Default.GetBytes(param);  //获取发送字符串编码后的长度

 

            myReq.ContentLength = byData.Length;


            Stream reqStrem = myReq.GetRequestStream(); //返回请求流


            reqStrem.Write(byData, 0, byData.Length);   //在返回的请求流在写入编码后的长度


            reqStrem.Close();


            WebResponse result = myReq.GetResponse();  //返回响应


            Stream recStream = result.GetResponseStream();  //返回响应流

 

            //如果是Gzip方式则需要解压
            recStream = new GZipStream(recStream, CompressionMode.Decompress);

 

                    //初始化StreamReader

            StreamReader redStream = new StreamReader(recStream, System.Text.Encoding.Default);         

 

            string strHTML = redStream.ReadToEnd();  //读取流。转换为字符串


            redStream.Close();


            recStream.Close();


            result.Close();

 

            return strHTML;


        }

原创粉丝点击