激情久久久_欧美视频区_成人av免费_不卡视频一二三区_欧美精品在欧美一区二区少妇_欧美一区二区三区的

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

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

服務器之家 - 編程語言 - C# - C#基于HttpWebRequest實現(xiàn)發(fā)送HTTP請求的方法分析

C#基于HttpWebRequest實現(xiàn)發(fā)送HTTP請求的方法分析

2022-03-09 13:39啊ten C#

這篇文章主要介紹了C#基于HttpWebRequest實現(xiàn)發(fā)送HTTP請求的方法,結合實例形式分析了C#使用HttpWebRequest類與System.IO類實現(xiàn)發(fā)送HTTP請求相關操作技巧與注意事項,需要的朋友可以參考下

本文實例講述了C#基于HttpWebRequest實現(xiàn)發(fā)送HTTP請求的方法。分享給大家供大家參考,具體如下:

調用第三方API的時候要用到HttpWebRequest類發(fā)送HTTP請求,網上查閱一番后大致了解了該類的用法,現(xiàn)記錄如下。

首先引入HttpWebRequest類,System.IO

?
1
2
using HttpWebRequest
using System.IO

GET請求

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
/// <summary>
/// 發(fā)送GET請求
/// </summary>
/// <param name="url">請求URL,如果需要傳參,在URL末尾加上“?+參數名=參數值”即可</param>
/// <returns></returns>
static string HttpGet(string url)
{
  //創(chuàng)建
  HttpWebRequest httpWebRequest = (HttpWebRequest)HttpWebRequest.Create(url);
  //設置請求方法
  httpWebRequest.Method = "GET";
  //請求超時時間
  httpWebRequest.Timeout = 20000;
  //發(fā)送請求
  HttpWebResponse httpWebResponse = (HttpWebResponse)httpWebRequest.GetResponse();
  //利用Stream流讀取返回數據
  StreamReader streamReader = new StreamReader(httpWebResponse.GetResponseStream(), Encoding.UTF8);
  //獲得最終數據,一般是json
  string responseContent = streamReader.ReadToEnd();
  streamReader.Close();
  httpWebResponse.Close();
  return responseContent;
}

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
/// <summary>
/// 發(fā)送POST請求
/// </summary>
/// <param name="url">請求URL</param>
/// <param name="data">請求參數</param>
/// <returns></returns>
static string HttpPost(string url, string data)
{
  HttpWebRequest httpWebRequest = (HttpWebRequest)HttpWebRequest.Create(url);
  //字符串轉換為字節(jié)碼
  byte[] bs = Encoding.UTF8.GetBytes(data);
  //參數類型,這里是json類型
  //還有別的類型如"application/x-www-form-urlencoded",不過我沒用過(逃
  httpWebRequest.ContentType = "application/json";
  //參數數據長度
  httpWebRequest.ContentLength = bs.Length;
  //設置請求類型
  httpWebRequest.Method = "POST";
  //設置超時時間
  httpWebRequest.Timeout = 20000;
  //將參數寫入請求地址中
  httpWebRequest.GetRequestStream().Write(bs, 0, bs.Length);
  //發(fā)送請求
  HttpWebResponse httpWebResponse = (HttpWebResponse)httpWebRequest.GetResponse();
  //讀取返回數據
  StreamReader streamReader = new StreamReader(httpWebResponse.GetResponseStream(), Encoding.UTF8);
  string responseContent = streamReader.ReadToEnd();
  streamReader.Close();
  httpWebResponse.Close();
  httpWebRequest.Abort();
  return responseContent;
}

GET請求就很簡單易懂啦,如果需要傳參,在URL末尾加上“?+參數名=參數值”即可,需要注意的是POST請求。

POST請求參數類型有多個,設置不正確會發(fā)生錯誤的,一般第三方接口都是以JSON交換數據,按我上面那樣寫就沒錯了。請求中的參數設置涉及到了Stream流的一些知識點

?
1
httpWebRequest.GetRequestStream().Write(bs, 0, bs.Length);

這一行的意思是將“bs”從Request的“0”位置中開始寫入,長度為“bs.Length”,說白了就是把參數數據加入到請求數據中。

希望本文所述對大家C#程序設計有所幫助。

原文鏈接:https://blog.csdn.net/qq_41731938/article/details/82627069

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 欧美人与牲禽动交精品一区 | 免费视频a| 国产乱弄 | 国产成人在线视频播放 | 欧美成人一二三区 | 日韩毛片在线看 | 日本中文字幕久久 | 羞羞视频一区 | 男女隐私免费视频 | 双性精h调教灌尿打屁股的文案 | 国产精品麻豆一区二区三区 | 免费久久精品 | 国产一区二区三区欧美 | 色污视频在线观看 | 成人在线视频免费看 | 国产美女的小嫩bbb图片 | 国内精品伊人久久 | 色视频欧美 | 成人免费观看av | 亚洲影视在线观看 | h视频免费观看 | 国产精品久久久久久久久久久久久久久久 | 一区二区三区四区高清视频 | 亚洲午夜一区二区三区 | 91网站在线观看视频 | 久久久国产电影 | 久久久久久久99 | 黄色特级一级片 | 国产免费久久久久 | 在线播放视频一区二区 | 精品一区二区在线视频 | 久久久久一区二区三区 | 欧美成人一区二区三区 | 情侣啪啪网站 | 久久久久久久久久久高潮一区二区 | 日本在线免费观看视频 | 欧美日韩大片在线观看 | 97黄色网| 丰满年轻岳中文字幕一区二区 | 免费看a级片 | 黄色毛片视频在线观看 |