string result =GetRequest("http://localhost:32163/DuoBao/ajax.aspx", "time=5"); //如果有好幾個參數可以在后面加,如: time=5&b=1&c=5
/// <summary>
/// 獲得post請求后響應的數據
/// </summary>
/// <param name="postUrl">請求地址</param>
/// <param name="data">請求帶的數據</param>
/// <returns>響應內容</returns>
public string GetRequest(string postUrl, string data)
{
string result = "";
try
{
//命名空間System.Net下的HttpWebRequest類
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(postUrl);
//參照瀏覽器的請求報文 封裝需要的參數 這里參照ie9
//瀏覽器可接受的MIME類型
request.Accept = "text/plain, */*; q=0.01";
//包含一個URL,用戶從該URL代表的頁面出發訪問當前請求的頁面
//瀏覽器類型,如果Servlet返回的內容與瀏覽器類型有關則該值非常有用
request.UserAgent = "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.1; Trident/5.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; .NET4.0C; .NET4.0E)";
request.ContentType = "application/x-www-form-urlencoded; charset=UTF-8";
//請求方式
request.Method = "POST";
//是否保持常連接
request.KeepAlive = false;
request.Headers.Add("Accept-Encoding", "gzip, deflate");
//表示請求消息正文的長度
request.ContentLength = data.Length;
Stream postStream = request.GetRequestStream();
byte[] postData = Encoding.UTF8.GetBytes(data);
//將傳輸的數據,請求正文寫入請求流
postStream.Write(postData, 0, postData.Length);
postStream.Dispose();
//響應
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
//判斷響應的信息是否為壓縮信息 若為壓縮信息解壓后返回
if (response.ContentEncoding == "gzip")
{
MemoryStream ms = new MemoryStream();
GZipStream zip = new GZipStream(response.GetResponseStream(), CompressionMode.Decompress);
byte[] buffer = new byte[1024];
int l = zip.Read(buffer, 0, buffer.Length);
while (l > 0)
{
ms.Write(buffer, 0, l);
l = zip.Read(buffer, 0, buffer.Length);
}
ms.Dispose();
zip.Dispose();
result = Encoding.UTF8.GetString(ms.ToArray());
}
return result;
}
catch (Exception)
{
throw;
}
}
///請求的頁面
public override void ProcessRequest(HttpContext context)
{
context.Response.ContentType = "text/plain";
//接收參數
string time = context.Request["time"];
if (!string.IsNullOrEmpty(time))
{
//調用方法
}
context.Response.Write("2");//返回參數
}
來源 http://www.cnblogs.com/lyl6796910/p/3722280.html