C#中如何通過HTTP協議的不同請求方式獲取資料
private string GetRequest(string url)
{
string content = "";
Uri httpURL = new Uri(url);
///HttpWebRequest類繼承於WebRequest,並沒有自己的建構函式,需通過WebRequest的Creat方法建立,並進行強制的型別轉換
HttpWebRequest httpReq = (HttpWebRequest)WebRequest.Create(httpURL);
httpReq.Credentials = new
///通過HttpWebRequest的GetResponse()方法建立HttpWebResponse,強制型別轉換
HttpWebResponse httpResp = (HttpWebResponse)httpReq.GetResponse();
///GetResponseStream()方法獲取HTTP響應的資料流,並嘗試取得URL中所指定的網頁內容
///若成功取得網頁的內容,則以System.IO.Stream形式返回,若失敗則產生ProtoclViolationException
Stream respStream = httpResp.GetResponseStream();
///返回的內容是Stream形式的,所以可以利用StreamReader類獲取GetResponseStream的內容,並以
//StreamReader類的Read方法依次讀取網頁源程式程式碼每一行的內容,直至行尾(讀取的編碼格式:UTF8)
StreamReader respStreamReader = new StreamReader
content = respStreamReader.ReadToEnd();
return content;
}
public string PostRequest(string Paras, string Url)
{
string result = "";
HttpWebRequest request = WebRequest.Create(Url) as HttpWebRequest;
request.Method = "POST";
request.ContentType = "application/json";
httpReq.Credentials = new NetworkCredential("***", "****");
string data = Paras;
byte[] byteData = UTF8Encoding.UTF8.GetBytes(data.ToString());
request.ContentLength = byteData.Length;
using (Stream postStream = request.GetRequestStream())
{
postStream.Write(byteData, 0, byteData.Length);
}
using (HttpWebResponse response = request.GetResponse() as HttpWebResponse)
{
StreamReader reader = new StreamReader(response.GetResponseStream());
result = reader.ReadToEnd();
}
return result;
}
public string DeleteRequest(string Url)
{
HttpWebRequest myrequest = (HttpWebRequest)WebRequest.Create(Url);
myrequest.Method = "DELETE";
httpReq.Credentials = new NetworkCredential("***", "****");
HttpWebResponse myResponse = (HttpWebResponse)myrequest.GetResponse();
StreamReader reader = new StreamReader(myResponse.GetResponseStream(),Encoding.UTF8);
string Return = reader.ReadToEnd();
reader.Close();
return Return;
}