method examples ejemplos downloaddata c# visual-studio-2010 http https webclient

ejemplos - webclient examples c#



Obtener "Handshake failed... unexpected packet format" cuando se usa WebClient.UploadFile() con "https" cuando el servidor tiene un certificado SSL vĂ¡lido (1)

Intento usar WebClient.UploadFile con una URL HTTPS, pero estoy terminando con

"System.IO.IOException: Falló el handshake debido a un formato de paquete inesperado"

El mismo código funciona perfectamente bien con Http, pero el servidor que estoy tratando de alcanzar tiene un certificado ssl perfectamente fino. Aquí hay algo relevante para la llamada web:

var url = WebServiceCommunication.GetProtocolName() + "..."; //turns out to be "https://... var wc = new WebClient(); //I am adding: wc.Headers.Add(HttpRequestHeader.KeepAlive, "...") wc.Headers.Add(HttpRequestHeader.AcceptLanguage, "...") we.Headers.Add(HttpRequestHeader.Cookie, "...") wc.UploadFile(url, "POST", filename);

¿El problema está en alguno de los HttpRequestHeaders que estoy agregando Y usando https con esos? ¿O me falta un encabezado necesario si deseo usar https? ¿Alguien tiene alguna indicación sobre por qué esto funcionaría con HTTP pero NO con HTTPS cuando el certificado SSL es válido?


Debe asegurarse de que el puerto al que se está conectando sea el puerto 443 en lugar del puerto 80.

Ejemplo de establecer explícitamente el puerto que se utilizará en la URL:

var request = (HttpWebRequest) WebRequest.Create("https://example.com:443/"); request.Method = "GET"; request.UserAgent = "example/1.0"; request.Accept = "*/*"; request.Host = "example.com"; var resp = (HttpWebResponse) request.GetResponse();