Hola, ok devuelta otra vez con los errores de conexión en los webservices antiguos, en estas siguientes líneas muestro el error que obtuve por problemas de SSL. y como lo solucione. me costo encontrar el drama pero era super simple solucionarlo.
Error constante:
The request was aborted: Could not create SSL/TLS secure channel c#
tenia la versión 4.5 del NET Framework.
Solucion:
Coloque esta linea antes del web request mas cambie al Net Framework 4.6.1 y funciono correcto
ServicePointManager.SecurityProtocol = SecurityProtocolType.Ssl3 | SecurityProtocolType.Tls | SecurityProtocolType.Tls11 | SecurityProtocolType.Tls12;
Aqui les dejo como lo implemente en mi código.
try
{
var request = (HttpWebRequest)WebRequest.Create(requestUrl);
request.Method = method;
request.Timeout = 5000; //very long response time from Chile. Change in USA accordingly.
if (ApiKey != null)
{
request.Headers.Add("X-MBX-APIKEY", ApiKey);
}
ServicePointManager.SecurityProtocol = SecurityProtocolType.Ssl3 | SecurityProtocolType.Tls | SecurityProtocolType.Tls11 | SecurityProtocolType.Tls12;
var webResponse = (HttpWebResponse)request.GetResponse();
if (webResponse.StatusCode != HttpStatusCode.OK)
{
throw new Exception($"Did not return OK 200. Returned: {webResponse.StatusCode}");
}
var encoding = ASCIIEncoding.ASCII;
string responseText = null;
using (var reader = new System.IO.StreamReader(webResponse.GetResponseStream(), encoding))
{
responseText = reader.ReadToEnd();
}
return responseText;
}
catch (WebException webEx)
{
if (webEx.Response != null)
{
Encoding encoding = ASCIIEncoding.ASCII;
using (var reader = new System.IO.StreamReader(webEx.Response.GetResponseStream(), encoding))
{
string responseText = reader.ReadToEnd();
throw new Exception(responseText);
}
}
throw;
}
catch
{
return "Error";
}
ok deja tu desahogo o una puteada y así se que te ayude mostro QL. No me agradezcas ya que saque el código de otra parte...
No hay comentarios:
Publicar un comentario