c# post请求

        /// <summary>
        /// post请求
        /// </summary>
        /// <param name="input"></param>
        /// <returns></returns>
        public static string Post(string url, string jsonString)
        {
            string responseString = "";
            try
            {
                // 创建HttpWebRequest实例
                HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);
                request.Method = "POST";
                request.ContentType = "application/json";
                // 将JSON数据转换为字节数组并写入请求流
                using (var streamWriter = new StreamWriter(request.GetRequestStream()))
                {
                    streamWriter.Write(jsonString);
                }
                using (var response = (HttpWebResponse)request.GetResponse())
                using (var responseStream = response.GetResponseStream())
                using (var reader = new StreamReader(responseStream))
                {
                    // 读取并输出响应内容
                    string responseBody = reader.ReadToEnd();
                    responseString = responseBody;
                }


                //var request = (HttpWebRequest)WebRequest.Create(url);
                //request.Method = "POST";
                //request.ContentType = "application/json";
                //var byteData = Encoding.UTF8.GetBytes(inputString);
                //var length = byteData.Length;
                //request.ContentLength = length;
                //var writer = request.GetRequestStream();
                //writer.Write(byteData, 0, length);
                //writer.Flush();
                //writer.Close();
                ////接收数据
                //var response = (HttpWebResponse)request.GetResponse();
                //responseString = new StreamReader(response.GetResponseStream(), Encoding.GetEncoding("utf-8")).ReadToEnd();
                //response.Close();

            }
            catch (WebException e)
            {
                // 处理Web异常(例如网络问题、无效的URL或服务器错误)
                using (var responseStream = e.Response?.GetResponseStream())
                using (var reader = new StreamReader(responseStream))
                {
                    responseString = reader.ReadToEnd();
                }
                if (string.IsNullOrEmpty(responseString))
                {
                    responseString = e.Message;
                }
            }
            return responseString;
        }

 

posted on 2025-01-24 15:29  五官一体即忢  阅读(34)  评论(0)    收藏  举报

导航