C#抓取网页
来源:互联网 发布:传奇霸业转生增强数据 编辑:程序博客网 时间:2024/05/12 13:33
using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Security.Cryptography;using System.IO;using System.Drawing.Drawing2D;using System.Data;using System.Text.RegularExpressions;using System.Reflection;using System.Xml.Serialization;using System.Xml;using System.Threading;using System.Net;using System.IO.Compression;namespace ConsoleApplication1{ class Program { static void Main(string[] args) { var url = "http://flights.ctrip.com/booking/bjs-sha----adu-1/"; var param = "dcityname1=北京&acityname1=上海"; var str = GetHTML(url, param); Console.Read(); } /// <summary> /// 获取HTML /// </summary> /// <param name="url"></param> /// <returns></returns> static string GetHTML(string url, string param) { Uri uri = new Uri(url); HttpWebRequest myReq = (HttpWebRequest)WebRequest.Create(uri); myReq.Headers.Add("Accept-Encoding", "gzip,deflate,sdch"); byte[] byData = Encoding.Default.GetBytes(param); myReq.Method = "Post"; myReq.ContentLength = byData.Length; Stream reqStrem = myReq.GetRequestStream(); reqStrem.Write(byData, 0, byData.Length); reqStrem.Close(); HttpWebResponse result = (HttpWebResponse)myReq.GetResponse(); Stream recStream = result.GetResponseStream(); //如果是Gzip方式则需要解压 recStream = new GZipStream(recStream, CompressionMode.Decompress); StreamReader redStream = new StreamReader(recStream, System.Text.Encoding.Default); string strHTML = redStream.ReadToEnd(); redStream.Close(); recStream.Close(); result.Close(); return strHTML; } }}