最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

 更新時間:2019年02月12日 10:35:06   作者:啊ten  
這篇文章主要介紹了C#基于HttpWebRequest實現(xiàn)發(fā)送HTTP請求的方法,結(jié)合實例形式分析了C#使用HttpWebRequest類與System.IO類實現(xiàn)發(fā)送HTTP請求相關(guān)操作技巧與注意事項,需要的朋友可以參考下

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

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

首先引入HttpWebRequest類,System.IO

using HttpWebRequest
using System.IO

GET請求

/// <summary>
/// 發(fā)送GET請求
/// </summary>
/// <param name="url">請求URL,如果需要傳參,在URL末尾加上“?+參數(shù)名=參數(shù)值”即可</param>
/// <returns></returns>
static string HttpGet(string url)
{
  //創(chuàng)建
  HttpWebRequest httpWebRequest = (HttpWebRequest)HttpWebRequest.Create(url);
  //設(shè)置請求方法
  httpWebRequest.Method = "GET";
  //請求超時時間
  httpWebRequest.Timeout = 20000;
  //發(fā)送請求
  HttpWebResponse httpWebResponse = (HttpWebResponse)httpWebRequest.GetResponse();
  //利用Stream流讀取返回數(shù)據(jù)
  StreamReader streamReader = new StreamReader(httpWebResponse.GetResponseStream(), Encoding.UTF8);
  //獲得最終數(shù)據(jù),一般是json
  string responseContent = streamReader.ReadToEnd();
  streamReader.Close();
  httpWebResponse.Close();
  return responseContent;
}

POST請求

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

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

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

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

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

更多關(guān)于C#相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《C#程序設(shè)計之線程使用技巧總結(jié)》、《C#窗體操作技巧匯總》、《C#常見控件用法教程》、《WinForm控件用法總結(jié)》、《C#數(shù)據(jù)結(jié)構(gòu)與算法教程》、《C#數(shù)組操作技巧總結(jié)》及《C#面向?qū)ο蟪绦蛟O(shè)計入門教程

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

相關(guān)文章

最新評論

鄂托克前旗| 上林县| 浦东新区| 常宁市| 兴宁市| 旬阳县| 海原县| 三原县| 昆明市| 绩溪县| 闸北区| 石楼县| 隆子县| 天长市| 文化| 维西| 阳朔县| 新巴尔虎左旗| 凤城市| 崇左市| 嘉荫县| 兰州市| 石台县| 子长县| 河间市| 诏安县| 云梦县| 会理县| 阿克陶县| 汝南县| 曲周县| 安阳县| 罗定市| 静宁县| 通辽市| 阜宁县| 西平县| 新竹市| 中卫市| 台北县| 泾川县|