Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Fala galera do fórum iMasters, tudo bom?
Eu precisei desse esquema que segue, e depois de muito pesquisar finalmente encontrei.
Para verificar o status de um servidor, usei um código que usa o ServerXMLHTTP do Microsoft XML (MSXML) para executar uma requisição HTTP.
Basicamente eu precisava checar se o servidor estava online. E este código serve para identificar na realidade se a página existe no servidor, então para funcionar do meu jeito eu teria que tratar também o fato do servidor não existir.
No caso, se o servidor estiver offline, a página não vai existir! É quase a mesma coisa.
Então precisei dar um 'on error resume next' pois caso não achasse a página, dava um erro, e por isso precisei fazer mais um tratatamento envolvendo variáveis para que mostra-se uma mensagem de offline.
Dessa forma podemos identificar se o servidor que aquela página está hospedada está ONLINE, apoiando-se na primitiva de que ou vai dar erro 404 pela página não existir ou simplesmente o servidor não será encontrado.
No meu caso, trabalho com uma rede de lojas. Por isso, vários relatórios pesados dependem de servidores que estão em vários lugares.
Saber o status era fundamental para algumas situações técnicas, então precisei desenvolver algo. Segue o código abaixo:
<%
function checaOnline()
on error resume next
resolveTimeout = 900
conectaTimeout = 900
sendTimeout = 900
receiveTimeout = 900
'CHECANDO status
verificaURL = "[http://XXX.XXX.XXX.XXX:XX/index.asp"](http://XXX.XXX.XXX.XXX/index.asp)
retorno = 0
Set oHttpRequest = CreateObject("MSXML2.ServerXMLHTTP")
with oHttpRequest
.SetTimeouts resolveTimeout,conectaTimeout,sendTimeout,receiveTimeout
.Open "GET" , verificaURL
.Send
Select case .Status
case 200 'ok
Response.write "<b><font face=""Verdana"" color=""#006600"">SERVIDOR ONLINE</font></b><br>"
retorno = 1
case Else
Response.Write "<b><font face=""Verdana"" color=""#CC0000"">SERVIDOR OFFLINE</font></b><br>"
retorno = 1
End Select
End With
if retorno = 0 then
Response.Write "<b><font face=""Verdana"" color=""#CC0000"">SERVIDOR OFFLINE</font></b><br>"
end if
end function
call checaOnline()
%>
Caso alguém tenha melhorias estou aberto à opiniões. Não tive muito tempo pra explorar isso hoje mas provavelmente pesquisando mais a fundo devem ter soluções sem uso do 'on error resume next' ou adaptações no código. O importante é que funciona!
Fonte: http://www.macoratti.net/xml_vb3.htm
Espero que ajude,
Giancarlo Braga
Carregando comentários...