實例詳解C#實現(xiàn)http不同方法的請求
更新時間:2018年07月02日 09:01:01 作者:郝光明
本篇文章給大家分享了C#實現(xiàn)http不同方法的請求的相關知識點以及實例代碼,有需要的朋友參考下。
1、不帶參數(shù)的POST請求
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請求
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();
//獲取響應內(nèi)容
using (StreamReader reader = new StreamReader(stream, Encoding.UTF8))
{
result = reader.ReadToEnd();
}
return result;
}
3、不帶參數(shù)的GET請求
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請求
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請求頭
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請求的實現(xiàn)代碼
- C#使用HttpPost請求調(diào)用WebService的方法
- C#使用Http Post方式傳遞Json數(shù)據(jù)字符串調(diào)用Web Service
- C#請求http向網(wǎng)頁發(fā)送接收數(shù)據(jù)的方法
- C#根據(jù)http和ftp圖片地址獲取對應圖片
- C#模擬http 發(fā)送post或get請求的簡單實例
- C#如何解析http報文
- C#基于socket模擬http請求的方法
- C#使用IHttpModule接口修改http輸出的方法
- C#實現(xiàn)發(fā)送簡單HTTP請求的方法
- C#實現(xiàn)簡單的Http請求實例
相關文章
C# WinForm中Panel實現(xiàn)用鼠標操作滾動條的實例方法
由于在WinForm中Panel不能直接響應鼠標的滾動事件,只好采用捕獲窗體的滾動事件。2013-03-03
C#實現(xiàn)導出List數(shù)據(jù)到xml文件的方法【附demo源碼下載】
這篇文章主要介紹了C#實現(xiàn)導出List數(shù)據(jù)到xml文件的方法,涉及C#針對list類及xml文件的相關操作技巧,并附帶完整demo源碼供讀者下載參考,需要的朋友可以參考下2016-08-08

