一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - C# - 實例詳解C#實現http不同方法的請求

實例詳解C#實現http不同方法的請求

2022-02-25 14:07郝光明 C#

本篇文章給大家分享了C#實現http不同方法的請求的相關知識點以及實例代碼,有需要的朋友參考下。

1、不帶參數的POST請求

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
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();
  //獲取內容
  using (StreamReader reader = new StreamReader(stream, Encoding.UTF8))
  {
    result = reader.ReadToEnd();
  }
  return result;
}

2、帶參數的POST請求

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
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 參數
  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();
  //獲取響應內容
  using (StreamReader reader = new StreamReader(stream, Encoding.UTF8))
  {
    result = reader.ReadToEnd();
  }
  return result;
}

3、不帶參數的GET請求

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
public static string Get(string url)
{
  string result = "";
  HttpWebRequest req = (HttpWebRequest)WebRequest.Create(url);
  HttpWebResponse resp = (HttpWebResponse)req.GetResponse();
  Stream stream = resp.GetResponseStream();
  try
  {
    //獲取內容
    using (StreamReader reader = new StreamReader(stream))
    {
      result = reader.ReadToEnd();
    }
  }
  finally
  {
    stream.Close();
  }
  return result;
}

4、帶參數的GET請求

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
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());
  //添加參數
  HttpWebResponse resp = (HttpWebResponse)req.GetResponse();
  Stream stream = resp.GetResponseStream();
  try
  {
    //獲取內容
    using (StreamReader reader = new StreamReader(stream))
    {
      result = reader.ReadToEnd();
    }
  }
  finally
  {
    stream.Close();
  }
  return result;
}

5、自定義HTTP請求頭

?
1
2
3
4
5
6
7
8
9
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();
}

原文鏈接:https://blog.csdn.net/xishining/article/details/80809747

延伸 · 閱讀

精彩推薦
  • C#Unity3D實現虛擬按鈕控制人物移動效果

    Unity3D實現虛擬按鈕控制人物移動效果

    這篇文章主要為大家詳細介紹了Unity3D實現虛擬按鈕控制人物移動效果,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一...

    shenqingyu060520232410972022-03-11
  • C#深入解析C#中的交錯數組與隱式類型的數組

    深入解析C#中的交錯數組與隱式類型的數組

    這篇文章主要介紹了深入解析C#中的交錯數組與隱式類型的數組,隱式類型的數組通常與匿名類型以及對象初始值設定項和集合初始值設定項一起使用,需要的...

    C#教程網6172021-11-09
  • C#C#設計模式之Visitor訪問者模式解決長隆歡樂世界問題實例

    C#設計模式之Visitor訪問者模式解決長隆歡樂世界問題實例

    這篇文章主要介紹了C#設計模式之Visitor訪問者模式解決長隆歡樂世界問題,簡單描述了訪問者模式的定義并結合具體實例形式分析了C#使用訪問者模式解決長...

    GhostRider9502022-01-21
  • C#C#裁剪,縮放,清晰度,水印處理操作示例

    C#裁剪,縮放,清晰度,水印處理操作示例

    這篇文章主要為大家詳細介紹了C#裁剪,縮放,清晰度,水印處理操作示例,具有一定的參考價值,感興趣的小伙伴們可以參考一下...

    吳 劍8332021-12-08
  • C#C#通過KD樹進行距離最近點的查找

    C#通過KD樹進行距離最近點的查找

    這篇文章主要為大家詳細介紹了C#通過KD樹進行距離最近點的查找,具有一定的參考價值,感興趣的小伙伴們可以參考一下...

    帆帆帆6112022-01-22
  • C#WPF 自定義雷達圖開發實例教程

    WPF 自定義雷達圖開發實例教程

    這篇文章主要介紹了WPF 自定義雷達圖開發實例教程,本文介紹的非常詳細,具有參考借鑒價值,需要的朋友可以參考下...

    WinterFish13112021-12-06
  • C#C#實現XML文件讀取

    C#實現XML文件讀取

    這篇文章主要為大家詳細介紹了C#實現XML文件讀取的相關代碼,具有一定的參考價值,感興趣的小伙伴們可以參考一下...

    Just_for_Myself6702022-02-22
  • C#C# 實現對PPT文檔加密、解密及重置密碼的操作方法

    C# 實現對PPT文檔加密、解密及重置密碼的操作方法

    這篇文章主要介紹了C# 實現對PPT文檔加密、解密及重置密碼的操作方法,非常不錯,具有參考借鑒價值,需要的朋友可以參考下...

    E-iceblue5012022-02-12
主站蜘蛛池模板: 精品一区二区三区五区六区 | 亚洲国产天堂 | 欧美亚洲国产成人不卡 | 欧美在线高清 | 动漫精品午夜在线播放 | 国产一级在线观看视频 | 国产成人一区二区三区在线视频 | 99热com| 激情小说欧美图片 | 9999视频| 福利视频免费 | 操比图片| 亚洲阿v天堂2018在线观看 | 91精品免费国产高清在线 | 无码人妻少妇色欲AV一区二区 | 91麻豆国产福利在线观看 | 91影视永久福利免费观看 | 日本精品人妖shemale人妖 | 农村妇女野战bbxxx | 日本一区二区高清免费不卡 | 四虎最新永久免费网址 | 男人的私人影院 | 九九九精品视频 | 免费看国产精品麻豆 | 惩罚美女妲己的尤老师 | 亚洲欧美久久久久久久久久爽网站 | 亚洲高清国产品国语在线观看 | 爱爱调教 | 久久国产精品免费网站 | 波多野结衣52部合集在线观看 | 五月最新商场女厕所高跟嘘嘘 | 手机看片福利盒子久久 | 2012中文字幕中字视频 | 极品丝袜小说全集 | bt天堂在线最新版www | 19+韩国女主播激情vip视频在线 | 变态人shou交小说 | 亚洲免费色图 | 国产欧美又粗又猛又爽老 | 狠狠色狠狠色综合日日小蛇 | 亚洲国产午夜 |