后台發送get請求
1.發送帶參數的get請求
/// <summary> /// 發送get請求 參數拼接在url后面 /// </summary> /// <param name="url">請求接口地址</param> /// <returns></returns> public static string HttpGet(string url) { HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url); request.Method = "GET"; //設置發送請求的類型 request.ContentType = "text/html;charset=UTF-8";// "application/json"; //設置請求超時時間 request.Timeout = 60 * 1000; HttpWebResponse response = (HttpWebResponse)request.GetResponse(); using (StreamReader reader = new StreamReader(response.GetResponseStream(), Encoding.UTF8)) { string strResult = reader.ReadToEnd(); reader.Close(); response.Close(); return strResult; } }
2.后台接收請求API
/// <summary> /// 獲取站點信息 /// </summary> /// <returns></returns> [HttpGet] [Route("GetStationInfo")] public ActionResult GetStationInfo(string stationName) { List<StationInfo> station= _stationServices.GetStationList().Where(p => p.StationName == stationName).ToList(); return new JsonResult(new { code = 1000, data = station }); }
后台發送post請求
1.發送帶參數的post請求
string url = "https://localhost:44319/api/Station/AddStationInfo"; StationInfo stationInfo = new StationInfo() { StationGuid = Guid.NewGuid().ToString(), StationName = "站點10", UpdateTime = DateTime.Now }; //傳遞json格式字符串信息 var jsonStr = JsonConvert.SerializeObject(stationInfo); var result = HttpPost(url, jsonStr); var returnData = JsonConvert.DeserializeObject<ReturnData>(result);
2.后台請求的方法
/// <summary> /// 發送post請求 參數在Body中 /// </summary> /// <param name="url">請求接口地址</param> /// <param name="json">json字符串</param> /// <returns></returns> public static string HttpPost(string url, string json) { //創建請求 HttpWebRequest request = WebRequest.Create(url) as HttpWebRequest; //請求方式為POST request.Method = "POST"; request.ContentType = "application/json"; //設置請求超時時間 request.Timeout = 60 * 1000; try { //添加post請求參數 byte[] bs = Encoding.UTF8.GetBytes(json); using (Stream reqStream = request.GetRequestStream()) { reqStream.Write(bs, 0, bs.Length); reqStream.Close(); } //發送請求並獲取相應回應數據 using (HttpWebResponse response = (HttpWebResponse)request.GetResponse()) { using (StreamReader reader = new StreamReader(response.GetResponseStream(), Encoding.ASCII)) { string content = reader.ReadToEnd(); return content; } } } catch (WebException ex) { return string.Format("錯誤信息:{0},傳輸json串:{1}", ex.Message, json); } }
3.后台接收請求API
/// <summary> /// 添加站點信息 /// </summary> /// <param name="station"></param> /// <returns></returns> [HttpPost] [Route("AddStationInfo")] public ActionResult AddStationInfo(StationInfo station) { try { StationInfo stationInfo = new StationInfo(); stationInfo.StationGuid = station.StationGuid; stationInfo.StationName = station.StationName; stationInfo.UpdateTime = station.UpdateTime; string result = _stationServices.AddStation(stationInfo) > 0 ? "添加成功" : "添加失敗"; return new JsonResult(new { code = 1000, data = result }); } catch (Exception ex) { return new JsonResult(new { code = 1000, data = ex.Message }); } }
