Mostrando postagens com marcador HttpWebRequest. Mostrar todas as postagens
Mostrando postagens com marcador HttpWebRequest. Mostrar todas as postagens

quinta-feira, 6 de fevereiro de 2014

Timeout ao utilizar HttpWebRequest com protocolo HTTPS

Fala galera,

Segue mais um código pra contornar um problema comum no .net para quem precisa trabalhar com WebRequests acessando uma url através do protocolo HTTPS.

O erro que costuma ocorrer é uma mensagem de "Timeout exceeded" (Tempo limite excedido) e a solução é bastante simples. Basta adicionar as 2 linhas abaixo:

//Esta linha fará com que o certificado não seja validado (Útil em casos onde há problemas com o ceritificado)
System.Net.ServicePointManager.CheckCertificateRevocationList = false;

//Esta linha fará com que o tipo de protocolo de segurança a ser utilizado seja o SSL3 ao invés do TLS (que parece ser o protocolo padrão)
System.Net.ServicePointManager.SecurityProtocol = System.Net.SecurityProtocolType.Ssl3;


Um abraço e até a próxima!!

segunda-feira, 23 de novembro de 2009

Corrigindo problemas de acentuação ao utilizar HttpWebRequest

Fala, galera!!

Recentemente publiquei aqui no blog um código mostrando como fazer um HttpRequest utilizando o .net.
Esses dias me deparei com um problema de acentuação.
Sempre que as palavras retornadas no meu httpRequest tivessem acentos o mesmo era substituído por um outro caracter.

A correção para esse problema é bem simples.
Basta especificar o encoding.

Segue a correção:


Dim myRequest As HttpWebRequest = WebRequest.Create("http://www.algumaURL.com.br")
            Dim resp As HttpWebResponse = myRequest.GetResponse()
            Dim ResponseEncoding As Text.Encoding = Text.Encoding.GetEncoding(resp.CharacterSet)

            Dim sr As New StreamReader(resp.GetResponseStream(), ResponseEncoding)
            Retorno = sr.ReadToEnd()
            sr.Close()

O código em negrito é o código que precisei adicionar ao antigo código postado no blog.

Um abraço e até a próxima!!