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;
}
}
}