Mostrando postagens com marcador WebRequest. Mostrar todas as postagens
Mostrando postagens com marcador WebRequest. 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!!

quinta-feira, 15 de outubro de 2009

Fazendo um httpRequest em sua aplicação .Net

Fala, galera!!

Quem veio do ASP, como eu, está acostumado a utilizar o MSXML da Microsoft para realizar operações de httpRequest.
O .Net possui uma classe nativa para este tipo de Operação: HttpWebRequest.

Esta classe torna este tipo de operação ainda mais simples e, em caso de erro, fica mais fácil de debugar do que utilizando o antigo MSXML.
Além da vantagem de não precisar instalar nenhuma DLL externa no servidor onde a aplicação está hospedada. (Esta é o tipo de DLL que sempre dá problema em alguma implantação. Ninguém lembra dela. Só quando dá erro.)

Segue o código:


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

        Dim sr As New StreamReader(resp.GetResponseStream())
        retorno = sr.ReadToEnd()
        sr.Close()
      
        Response.Write(retorno)

O código acima irá obter o código gerado pela página apontada no seu WebRequest.

É necessário importar os seguintes Namespaces:


Imports System.Net
Imports System.IO


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