實(shí)例詳解C#實(shí)現(xiàn)http不同方法的請(qǐng)求
1、不帶參數(shù)的POST請(qǐng)求
public static string Post(string url) { string result = ""; HttpWebRequest req = (HttpWebRequest)WebRequest.Create(url); req.Method = "POST"; HttpWebResponse resp = (HttpWebResponse)req.GetResponse(); Stream stream = resp.GetResponseStream(); //獲取內(nèi)容 using (StreamReader reader = new StreamReader(stream, Encoding.UTF8)) { result = reader.ReadToEnd(); } return result; }
2、帶參數(shù)的POST請(qǐng)求
public static string Post(string url,Dictionary<string,string> dic) { string result = ""; HttpWebRequest req = (HttpWebRequest)WebRequest.Create(url); req.Method = "POST"; req.ContentType = "application/x-www-form-urlencoded"; #region 添加Post 參數(shù) StringBuilder builder = new StringBuilder(); int i = 0; foreach (var item in dic) { if (i > 0) builder.Append("&"); builder.AppendFormat("{0}={1}", item.Key, item.Value); i++; } byte[] data = Encoding.UTF8.GetBytes(builder.ToString()); req.ContentLength = data.Length; using (Stream reqStream = req.GetRequestStream()) { reqStream.Write(data, 0, data.Length); reqStream.Close(); } #endregion HttpWebResponse resp = (HttpWebResponse)req.GetResponse(); Stream stream = resp.GetResponseStream(); //獲取響應(yīng)內(nèi)容 using (StreamReader reader = new StreamReader(stream, Encoding.UTF8)) { result = reader.ReadToEnd(); } return result; }
3、不帶參數(shù)的GET請(qǐng)求
public static string Get(string url) { string result = ""; HttpWebRequest req = (HttpWebRequest)WebRequest.Create(url); HttpWebResponse resp = (HttpWebResponse)req.GetResponse(); Stream stream = resp.GetResponseStream(); try { //獲取內(nèi)容 using (StreamReader reader = new StreamReader(stream)) { result = reader.ReadToEnd(); } } finally { stream.Close(); } return result; }
4、帶參數(shù)的GET請(qǐng)求
public static string Get(string url, Dictionary<string, string> dic) { string result = ""; StringBuilder builder = new StringBuilder(); builder.Append(url); if (dic.Count > 0) { builder.Append("?"); int i = 0; foreach (var item in dic) { if (i > 0) builder.Append("&"); builder.AppendFormat("{0}={1}", item.Key, item.Value); i++; } } HttpWebRequest req = (HttpWebRequest)WebRequest.Create(builder.ToString()); //添加參數(shù) HttpWebResponse resp = (HttpWebResponse)req.GetResponse(); Stream stream = resp.GetResponseStream(); try { //獲取內(nèi)容 using (StreamReader reader = new StreamReader(stream)) { result = reader.ReadToEnd(); } } finally { stream.Close(); } return result; }
5、自定義HTTP請(qǐng)求頭
HttpWebRequest req = (HttpWebRequest)WebRequest.Create(url); req.Method = "GET"; req.Headers["Accept-Language"] = "zh-CN,zh;q=0.8"; req.Referer = "https://www.baidu.com/"; HttpWebResponse resp = (HttpWebResponse)req.GetResponse(); Stream stream = resp.GetResponseStream(); string result = ""; //注意,此處使用的編碼是:gb2312 //using (StreamReader reader = new StreamReader(stream, Encoding.Default)) using (StreamReader reader = new StreamReader(stream, Encoding.GetEncoding("gb2312"))) { result = reader.ReadToEnd(); }
- c#使用Socket發(fā)送HTTP/HTTPS請(qǐng)求的實(shí)現(xiàn)代碼
- C#使用HttpPost請(qǐng)求調(diào)用WebService的方法
- C#使用Http Post方式傳遞Json數(shù)據(jù)字符串調(diào)用Web Service
- C#請(qǐng)求http向網(wǎng)頁(yè)發(fā)送接收數(shù)據(jù)的方法
- C#根據(jù)http和ftp圖片地址獲取對(duì)應(yīng)圖片
- C#模擬http 發(fā)送post或get請(qǐng)求的簡(jiǎn)單實(shí)例
- C#如何解析http報(bào)文
- C#基于socket模擬http請(qǐng)求的方法
- C#使用IHttpModule接口修改http輸出的方法
- C#實(shí)現(xiàn)發(fā)送簡(jiǎn)單HTTP請(qǐng)求的方法
- C#實(shí)現(xiàn)簡(jiǎn)單的Http請(qǐng)求實(shí)例
相關(guān)文章
重寫(xiě)、隱藏基類(new, override)的方法
重寫(xiě)、隱藏基類(new, override)的方法,需要的朋友可以參考一下2013-03-03C#與Java的MD5簡(jiǎn)單驗(yàn)證(實(shí)例代碼)
下面小編就為大家?guī)?lái)一篇C#與Java的MD5簡(jiǎn)單驗(yàn)證(實(shí)例代碼)。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2016-09-09探討Object轉(zhuǎn)為String的幾種簡(jiǎn)易形式詳解
本篇文章是對(duì)Object轉(zhuǎn)為String的幾種簡(jiǎn)易形式進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下2013-06-06.net中前臺(tái)javascript與后臺(tái)c#函數(shù)相互調(diào)用問(wèn)題
.net中前臺(tái)javascript與后臺(tái)c#函數(shù)相互調(diào)用問(wèn)題...2007-12-12C#用ComboBox控件實(shí)現(xiàn)省與市的聯(lián)動(dòng)效果的方法
這篇文章主要介紹了C#用ComboBox控件實(shí)現(xiàn)省與市的聯(lián)動(dòng)效果的方法,較為詳細(xì)的分析了ComboBox控件的使用原理與相關(guān)技巧,需要的朋友可以參考下2015-01-01在C#中調(diào)用VBScript、javascript等腳本的實(shí)現(xiàn)代碼
在C#中調(diào)用VBScript、javascript等腳本的實(shí)現(xiàn)步驟,需要的朋友可以參考下。2009-11-11基于WPF手寫(xiě)一個(gè)簡(jiǎn)單的消息對(duì)話框
消息對(duì)話框是UI界面中不可或缺的組成部分,用于給用戶一些提示,警告或者詢問(wèn)的窗口,本文將使用WPF手寫(xiě)一個(gè)簡(jiǎn)單的消息對(duì)話框,感興趣的小伙伴可以了解下2023-12-12