C#无法连接到远程服务器(WebException、SocketException)

C#无法连接到远程服务器(WebException、SocketException),c#,asp.net,server,dotnet-httpclient,C#,Asp.net,Server,Dotnet Httpclient,我试图将一些数据从一个网站发布到一个Web服务,但我得到了这些例外: System.AggregateException:所有产品都有额外的错误。--> System.Net.Http.HttpRequestException:发送请求时出错 请求。-->System.Net.WebException:无法连接到远程服务器 --->System.Net.Sockets.SocketException:连接尝试失败,因为已连接的 一段时间后参与方未正确响应,或建立的连接失败,因为连接的主机未能响应

我试图将一些数据从一个网站发布到一个Web服务,但我得到了这些例外:

System.AggregateException:所有产品都有额外的错误。--> System.Net.Http.HttpRequestException:发送请求时出错 请求。-->System.Net.WebException:无法连接到远程服务器 --->System.Net.Sockets.SocketException:连接尝试失败,因为已连接的 一段时间后参与方未正确响应,或建立的连接失败,因为连接的主机未能响应52.211.194.210:443 §System.Net.Sockets.Socket.EndConnect(IAsyncResult asyncResult) §System.Net.ServicePoint.ConnectSocketInternal(布尔值connectFailure, 插座s4、插座s6、插座和插座、IP地址和地址、ConnectSocketState 状态、IAsyncResult异步结果、异常和异常) ---国际特例桩追踪--- §System.Net.HttpWebRequest.EndGetRequestStream(IAsyncResult asyncResult, TransportContext(上下文和上下文) §System.Net.Http.HttpClientHandler.GetRequestStreamCallback(IAsyncResult ar) ---国际特例桩追踪--- ---国际特例桩追踪--- §System.Threading.Tasks.Task`1.GetResultCore(布尔值) waitCompletionNotification) △ldspoPunchout.ldspoPunchout.PostXMLData(字符串destinationUrl,字符串 请求(XML) --->(异常interne#0)System.Net.Http.HttpRequestException:错误 发送请求时发生。-->System.Net.WebException: 不可能连接到远程服务---> System.Net.Sockets.SocketException:未尝试连接aéchouécar 第三方与第三方之间的联系 在你的婚姻关系表中,你可以选择一个属于你自己的婚姻关系表(aéchouécar l'hôde connexion n'a pas) 雷蓬杜52.211.194.210:443 §System.Net.Sockets.Socket.EndConnect(IAsyncResult asyncResult) §System.Net.ServicePoint.ConnectSocketInternal(布尔值connectFailure, 插座s4、插座s6、插座和插座、IP地址和地址、ConnectSocketState 状态、IAsyncResult异步结果、异常和异常) ---国际特例桩追踪--- §System.Net.HttpWebRequest.EndGetRequestStream(IAsyncResult asyncResult, TransportContext(上下文和上下文) §System.Net.Http.HttpClientHandler.GetRequestStreamCallback(IAsyncResult ar)
---Fin de la trace de la pile d'exception interne--我建议您更改表示
byte[]data=Encoding.ASCII.GetBytes(requestXml)的行
to
byte[]data=Encoding.UTF8.GetBytes(requestXml)。这是更健壮的,因为它将以相同的方式处理所有ASCII,但也处理UTF-8的其余部分,这样,如果XML中有任何不只是基本拉丁语的字符,它就不会中断。UTF-8是XML和大多数web技术的默认编码。我认为为了帮助您,我们需要了解web请求是如何创建的,即
客户机
是如何装箱的,我有一种感觉,如果您可以导航到计算机并通过浏览器请求数据,则不会将默认凭据发送到服务器。是的,没有凭据,他们会给我们一个具有使用寿命的url浏览url是一回事,然而,在你发布到它的代码中-你能使用类似fiddler或postman的东西发布到这个URL吗?正如我说的是,我通过c#控制台和postman从我的计算机发布到它,但不是从服务器发布,因为我没有完全控制它,也许通过web解决方案我可以尝试!
            byte[] data = Encoding.ASCII.GetBytes(requestXml);
            ByteArrayContent byteArray = new ByteArrayContent(data);
            HttpResponseMessage reponse = client.PostAsync(destinationUrl, byteArray).Result;
            Stream stream = reponse.Content.ReadAsStreamAsync().Result;
            StreamReader reader = new StreamReader(stream);
            Test = reader.ReadToEnd();
            client.Timeout = TimeSpan.FromMilliseconds(Timeout.Infinite);
      client.DefaultRequestHeaders.Add("Connection", "Keep-Alive");
            client.DefaultRequestHeaders.Add("Keep-Alive", "3600");
              ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12 
           | SecurityProtocolType.Tls11;
            client.DefaultRequestHeaders.ExpectContinue = false;
                Logger.Log(xml + "                 " + url);
                var webRequest = WebRequest.Create(url);
                PostXMLData(url, xml); 
                return url + "  :  " + Test;
       public static readonly HttpClient client = new HttpClient();