C# POST请求

一、不带参数请求

      /// <summary>
        /// POST请求不带参数
        /// </summary>
        /// <param name="url"></param>
        /// <returns></returns>
        public static string Post(string url)
        {
            string result;//返回结果
            HttpWebRequest request = WebRequest.Create(url) as HttpWebRequest;
            request.Method = "POST";
            HttpWebResponse response = request.GetResponse() as HttpWebResponse;
            Stream stream = response.GetResponseStream();
            using (StreamReader reader = new StreamReader(stream, Encoding.UTF8))
            {
                result = reader.ReadToEnd();
            }
            return result;
        }

二、带参数 post请求,参数传递方式json

        /// <summary>
        /// post请求带参数
        /// </summary>
        /// <param name="url"></param>
        /// <param name="param">参数字符串</param>
        /// <returns></returns>
        public static string Post(string url, string param)
        {
            //创建post请求
            HttpWebRequest request = WebRequest.Create(url) as HttpWebRequest;
            request.Method = "POST";//请求方式post
            request.ContentType = "application/json;charset=UTF-8";//链接类型
            byte[] payload = Encoding.UTF8.GetBytes(param);//参数编码
            request.ContentLength = payload.Length;

            //发送post的请求,写入参数
            Stream writer = request.GetRequestStream();
            writer.Write(payload, 0, payload.Length);
            writer.Close();

            //接受返回来的数据
            HttpWebResponse response = request.GetResponse() as HttpWebResponse;
            Stream stream = response.GetResponseStream();
            StreamReader reader = new StreamReader(stream, Encoding.UTF8);
            string value = reader.ReadToEnd();

            reader.Close();
            stream.Close();
            response.Close();

            return value;
        }

  三、带参数post请求,参数传递表单

            var url = "";
                    var client = new RestClient(url);
                    var request = new RestRequest(Method.POST);
                    request.AddHeader("Content-Type", "application/x-www-form-urlencoded");
                    request.AddParameter("company_id", "1343BE1A6D6");
                    request.AddParameter("company_key", "5C9F93D44962AD10E76870772999DF92");
                    request.AddParameter("user_name", "柳正");
                    request.AddParameter("condition", JsonConvert.SerializeObject(condition));
                    IRestResponse response = client.Execute(request);
            string res = Regex.Unescape(response.Content);
原文地址:https://www.cnblogs.com/liuzheng0612/p/12980474.html