首页 > 解决方案 > webrequest, Le serverur distance a retourné une erreur : (400) 要求不正确

问题描述

我正在处理一个项目,或者我需要通过 post 方法使用 TSL 1.2 安全性将数据发送到服务器。在标题中,我发送以下身份验证密钥,在正文中发送对象 JSON,当我执行代码时出现此错误

*Le serverur distance a retourné une erreur : (400) 要求不正确。

我的框架版本是 4.6,我使用 asp.net 和 C#

 public string SendData(string urlRessource, string dataHeader)
   {
       string responseFromServer = "";
       try
       {
            //ServicePointManager.CertificatePolicy = new TrustAllCertificatePolicy();
            //ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12;
           string http = urlRessource;
           var httpWebRequest = (HttpWebRequest)WebRequest.Create(http);
           httpWebRequest.PreAuthenticate = true;
           httpWebRequest.KeepAlive = false;
           httpWebRequest.Timeout = 5000000;
           httpWebRequest.Method = "POST";
           httpWebRequest.ContentType = "application/json;";
           httpWebRequest.Headers.Add("auth", AppSetting.HEADERAUTH);
           Byte[] byteArray = Encoding.UTF8.GetBytes(dataHeader);
           httpWebRequest.ContentLength = byteArray.Length;
            using (var streamWriter = new StreamWriter(httpWebRequest.GetRequestStream()))
           {

               streamWriter.Write(dataHeader);
               streamWriter.Flush();
               streamWriter.Close();

               var httpResponse = (HttpWebResponse)httpWebRequest.GetResponse();
               using (var streamReader = new StreamReader(httpResponse.GetResponseStream()))
               {
                   responseFromServer = streamReader.ReadToEnd();
               }
           }


       }
       catch (Exception ex)
       {
           ResponseApi api = new ResponseApi
           {
               code = 500,
               message = ex.Message,
               exceptionLine = ex.StackTrace
           };
           responseFromServer = JsonConvert.SerializeObject(api, Formatting.Indented);

       }


       Console.WriteLine(responseFromServer);
       Console.ReadLine();

       return responseFromServer;
   }

我的数据是:

 string headerData = JsonConvert.SerializeObject(new {
                                senderFirstName = "hfh",
                                senderLastName = "fssdf",
                                senderPhone = "67457487",
                                amount = 20,


                                }, Formatting.Indented);

当我使用邮递员发送我的请求时,资源的链接一切正常,但代码没有

标签: c#

解决方案


推荐阅读