標籤:style blog http io ar color os 使用 sp
using System;using System.Data;using System.Configuration;using System.Linq;using System.Web;using System.Web.Security;using System.Web.UI;using System.Web.UI.HtmlControls;using System.Web.UI.WebControls;using System.Web.UI.WebControls.WebParts;using System.Xml.Linq;using System.Net;using System.IO;using System.Text;using System.Collections.Generic;namespace WebAppTest{ public class HttpTools { public static string GetRequest(string url) { HttpWebRequest request = (HttpWebRequest)HttpWebRequest.Create(url); request.Method = "get"; HttpWebResponse response = (HttpWebResponse)request.GetResponse(); using(StreamReader sr = new StreamReader(response.GetResponseStream(),Encoding.UTF8)) { string result = sr.ReadToEnd(); return result; } } public static string PostRequest(string url,Dictionary<object,object> paramList) { HttpWebRequest request = (HttpWebRequest)HttpWebRequest.Create(url); StringBuilder sb = new StringBuilder(); foreach (var item in paramList) { sb.Append(item.Key + "=" + item.Value + "&"); } //將參數拼為:"name=test&pwd=123" 這種字串格式 然後將字串轉為byte數組 最後將byte數組寫入請求流中 string paramData = sb.ToString().Trim(‘&‘); byte[] data = System.Text.Encoding.UTF8.GetBytes(paramData); //設定post方式 request.Method = "post"; //這句不能少 不難post請求 得不到對應的響應結果 request.ContentType = "application/x-www-form-urlencoded"; //佈建要求參數的長度 request.ContentLength = data.Length; Stream stream = request.GetRequestStream(); stream.Write(data, 0, data.Length); stream.Close(); /** * *****************注意事項******************** * * 不管是get還是post請求最後得到的響應流不能直接stream * 不難得不到響應結果 * * * 直接使用Stream 不能擷取響應的結果值 * * 要使用StreamReader才能擷取響應的結果值 * * Stream stream = response.GetResponseStream(); * * byte[] data = new byte[2*1024*1024] * * int r = stream.Read(data,0,data.Length); * * string result = System.Text.Encoding.UTF8.GetString(data, 0, r); * * * **/ HttpWebResponse response = (HttpWebResponse)request.GetResponse(); using(StreamReader sr = new StreamReader(response.GetResponseStream(),Encoding.UTF8)) { string result = sr.ReadToEnd(); return result; } } }}
C# http get與post要求方法