COMO SABER SE O SITE CAIU???

MARCOS 19/07/2012 16:05:21
#406261
Boa tarde,Colegas!
Fiz uma pesquisa no Google,mas não encontrei aquilo exatamente que preciso.
Embora seja algo simples!

Algum colega sabe,como posso por meio de código VB.NET detectar quando um determinado site na internet
fica Offline. Ou seja,quando por um motivo qualquer sai do ar.

Agradeço qualquer ajuda!

ALTAIR148 19/07/2012 16:15:21
#406263
Boa tarde,

Dispara um ping contra o site, se ele não responder é pq houve algum problema.

http://rafaelfranklinmaia.blogspot.com.br/2009/12/ping-em-vbnet.html
OCELOT 19/07/2012 21:09:57
#406286
Ping pode ser bloqueado e pode também responder mesmo com o site offline, já que quem responde o ping é o SO, e o site é um outro programa que pode também dar problemas, então a única forma de ter certeza é tentando abrir um página, se não conseguir é porque tem algo errado.
MARCOS 19/07/2012 21:51:26
#406289
Altair,o colega OCELOT tem razão !
Algum colega,saberia como eu poderia usando o controle WEBBrowser,retornar se a página pode ser aberta???


KERPLUNK 19/07/2012 23:16:38
#406299
Use o winsock, configure-o para usar a porta 80, informe o endereço do site e receba a informação que volta, ela é simplesmente texto, trate-a como quiser.
OCELOT 20/07/2012 11:25:02
#406343
Da mesmo para usar o winsock conectando na porta 80, porém você tem que enviar a requisição, que seria um cabeçalho HTTP 1.1, faz muito tempo que não uso VB6, mas acho que seria mais fácil talvez com o Inet, pois se não me engano ele já cuida de todo o protocolo sozinho para abrir a página em memória, enquanto que no winsock você precisa fazer todo o protocolo a mão.

A vantagem do Winsock é que seria possível mandar a requisição como HEAD, que responde exatamente igual ao GET porém não baixa a página, só os cabeçalhos, o que já é o suficiente para saber se está online ou não.
PEGUDO 20/07/2012 12:10:00
#406347
Resposta escolhida
Cara,
Você pode usar o WebRequest. Exemplo:

Dim Requisicao As System.Net.WebRequest = System.Net.WebRequest.Create([txt-color=#e80000][Ô]http://www.infosaber.com.br/[Ô][/txt-color]) [txt-color=#007100][ô]Site que eu sei que está fora do ar[/txt-color]
Dim Resposta As System.Net.WebResponse
Dim strResposta As System.IO.StreamReader
Dim Ler As String

Try
Resposta = Requisicao.GetResponse
strResposta = New System.IO.StreamReader(Resposta.GetResponseStream)
Ler = strResposta.ReadToEnd
Catch ex As System.Net.WebException
MsgBox(ex.Message)
End Try

Se cair no [txt-color=#0000f0]WebException[/txt-color], provavelmente o site está fora do ar.
Cuidado, pois se sua conexão estiver muito lenta ou o site existir e estiver com problemas (manutenção, por exemplo), vai dar [txt-color=#0000f0]WebException[/txt-color] também.
MARCOS 20/07/2012 17:14:57
#406370
Muito obrigado,pessoal!!!

Tópico encerrado , respostas não são mais permitidas