后端发送Post请求

public static string DoPostByADK(string url, string jsonData,string token)
    {

        //发送Post请求
        try
        {
            ServicePointManager.ServerCertificateValidationCallback = new System.Net.Security.RemoteCertificateValidationCallback(CheckValidationResult);
            var request = (HttpWebRequest)WebRequest.Create(url);
            request.Headers.Add("Authorization", "Bearer " + token);
            request.Method = "POST";
            request.ContentType = "application/json;charset=UTF-8";
            request.KeepAlive = false;
            request.ProtocolVersion = HttpVersion.Version10;
            Encoding encoding = Encoding.UTF8;//根据网站的编码自定义
            string responseData = String.Empty;
            if (Regex.IsMatch(url, "^https://"))
            {
                request.KeepAlive = false;

                ServicePointManager.Expect100Continue = true;
                ServicePointManager.ServerCertificateValidationCallback = new RemoteCertificateValidationCallback(CheckValidationResult);
                ServicePointManager.SecurityProtocol = SecurityProtocolType.Ssl3
                                   | SecurityProtocolType.Tls
                                   | (SecurityProtocolType)0x300 //Tls11
                                   | (SecurityProtocolType)0xC00 //Tls12
                                   | (SecurityProtocolType)3072;
                request.ProtocolVersion = HttpVersion.Version10;
            }
            if (jsonData != null)
            {
                var data = Encoding.UTF8.GetBytes(jsonData);
                request.ContentLength = data.Length;
                using (var stream = request.GetRequestStream())
                {
                    stream.Write(data, 0, data.Length);
                }

            }
            using (HttpWebResponse response = (HttpWebResponse)request.GetResponse())
            {
                using (StreamReader reader = new StreamReader(response.GetResponseStream(), encoding))
                {
                    responseData = reader.ReadToEnd();
                }
                return responseData;
            }
        }
        catch (Exception ex)
        {

            throw ex;
        }

    }
posted @   谢大山啊  阅读(36)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 提示词工程——AI应用必不可少的技术
· 地球OL攻略 —— 某应届生求职总结
· 字符编码:从基础到乱码解决
· SpringCloud带你走进微服务的世界
点击右上角即可分享
微信分享提示