Hola, descubrimos la respuesta a lo que andabas buscando, deslízate y la encontrarás más abajo.
Solución:
Si cierra el violín (si lo tiene abierto) y agrega lo siguiente, la excepción debería desaparecer
ServicePointManager.Expect100Continue = true;
ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12;
O al menos lo hizo para mí cuando probé tu código así
try
ServicePointManager.Expect100Continue = true;
ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12;
ServicePointManager.ServerCertificateValidationCallback = delegate return true; ;
var webClient = new WebClient();
var s = webClient.DownloadString("https://jtlplugins.x-volution.de/api.php?apikey=yS5VS7OiG1ukiIqLzCSYuFCjeF1qSskKOQeCtVxh&do=pruefe_app&cappid=123&chardwareid=DC0D-BFEA-6F79-58DE-21E9-BA3A-B288-C46F&clizenzschluessel=123");
MessageBox.Show("Result" + s);
catch(Exception ex)
MessageBox.Show(ex.Message);
-
Advertencia de código inseguro: aunque asumo que ya sabe esto y no es por eso que recibió una WebException con su código, estoy agregando una advertencia para los futuros lectores potenciales en las décadas posteriores a la publicación original de esta pregunta. El código:
System.Net.ServicePointManager.ServerCertificateValidationCallback = (remitente, certificado, cadena, errores) => volver true; ;
Ignorará cualquier error de validación del certificado y, por lo tanto, por definición, no es exactamente seguro. Consulte la pregunta C# ¿Ignorar errores de certificado?
A continuación se muestra una clase WebClient heredada que resuelve muchos problemas generales como este…
using System;
using System.Net;
namespace YourProgram.Web
public class WebClient : System.Net.WebClient
public WebClient()
ServicePointManager.Expect100Continue = true;
ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12;
ServicePointManager.ServerCertificateValidationCallback = delegate return true; ;
this.container = new CookieContainer();
public WebClient(CookieContainer container)
this.container = container;
public CookieContainer CookieContainer
get return container;
set container = value;
private CookieContainer container = new CookieContainer();
protected override WebRequest GetWebRequest(Uri address)
WebRequest r = base.GetWebRequest(address);
var request = r as HttpWebRequest;
if (request != null)
request.CookieContainer = container;
return r;
protected override WebResponse GetWebResponse(WebRequest request, IAsyncResult result)
WebResponse response = base.GetWebResponse(request, result);
ReadCookies(response);
return response;
protected override WebResponse GetWebResponse(WebRequest request)
WebResponse response = base.GetWebResponse(request);
ReadCookies(response);
return response;
private void ReadCookies(WebResponse r)
var response = r as HttpWebResponse;
if (response != null)
CookieCollection cookies = response.Cookies;
container.Add(cookies);
Disfrutar…
Al final de la web puedes encontrar las observaciones de otros usuarios, tú también puedes insertar el tuyo si te gusta.