httpClient.GetStringAsyn c (url). Результат не работает при развертывании на Godaddy - PullRequest
0 голосов
/ 21 апреля 2020

Проблема: httpClient.GetStringAsyn c (url). Результат не работает. Код работает нормально на localhost. Но не работает после развертывания на GoDaddy.

Ниже приведен мой код, который нормально работает на localhost, но после развертывания на Godaddy httpClient не работает, даже если я установил SecurityProtocolType.Tls12.

public class MyWebClientServices
{
    private static HttpClient httpClient = new HttpClient();

    public T PrepareWebClient<T>(string preparedURL)
    {
        try
        {
          // As my server is using TLS1.2 I kept only that protocol
          ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12;

          httpClient.DefaultRequestHeaders.Accept.Clear();
          httpClient.DefaultRequestHeaders.Accept.Add(new System.Net.Http.Headers.MediaTypeWithQualtiyHeaderValue("application/json");
          var json = httpClient.GetStringAsync(preparedURL).Result;
          //here T is generic PCR class. I have created generic classes for which I need to invoke httpClient & their respective urls as I want to use this same code for all.

          T tJson = JsonConvert.DeserializeObject<T>(json);
          return (T)Convert.ChangeType(tJson, typeof(T));

         }
         catch(Exception e)
         {
            throw e;
         }
    }

}//end of MyWebClientServices class

В localhost я получаю данные нормально. prepareURL хранится на сервере, где он имеет 128AES TLS1.2 SSL. После развертывания кода в Godaddy и когда я пытаюсь получить доступ к данным, появляется следующее сообщение об ошибке

A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond


[SocketException (0x274c): A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond]
   System.Net.Sockets.Socket.EndReceive(IAsyncResult asyncResult) +6723762
   System.Net.Sockets.NetworkStream.EndRead(IAsyncResult asyncResult) +57

[IOException: Unable to read data from the transport connection: A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond.]
   System.Net.Security._SslStream.EndRead(IAsyncResult asyncResult) +6693442
   System.Net.TlsStream.EndRead(IAsyncResult asyncResult) +219
   System.Net.PooledStream.EndRead(IAsyncResult asyncResult) +15
   System.Net.Connection.ReadCallback(IAsyncResult asyncResult) +41

   [WebException: The underlying connection was closed: An unexpected error occurred on a receive.]
   System.Net.HttpWebRequest.EndGetResponse(IAsyncResult asyncResult) +638
   System.Net.Http.HttpClientHandler.GetResponseCallback(IAsyncResult ar) +65

   [HttpRequestException: An error occurred while sending the request.]

Я попытался найти много вопросов, связанных с этим, но получил только вопросы и ответы, связанные с SMTP, где в моей проблеме отличается, и я не могу найти подобный вопрос, поэтому задаю его здесь.

Пожалуйста, помогите мне, как бы я исправить это в GoDaddy. Мой хостинг это виртуальный хостинг. SSL - Cloudflare SSL Я проверил, включив отключение SSL, но все равно выдаю тот же.

...