C# 后台發送get,post請求及WebApi接收


后台發送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 });
            }
        }

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM