webForumDet fria alternativet

Pinga mot IP

ASP

2 svar · 357 visningar · startad av Mini

Medlem sedan apr. 200227 inlägg
Frågan#1

Om man vill pinga mot ett ip och se om det offline eller online, hur skriver man då???

Medlem sedan juli 20011 084 inlägg
#2

hmm är inte säker men tror detta varit uppe tidigare, tror inte det... utan plugin, men sök och du svar skall finna! :e

Medlem sedan juni 2000690 inlägg
#3

Sitter du med en nyare win2000 server så är chansen stor att du kan använda ServerXMLHTTP.

Kan tex se ut så här:

Function GetHTML(strPage)
Dim strXMLout
On Error Resume Next 
Set objHTTP = Server.CreateObject("Msxml2.ServerXMLHTTP")
	'Winsock Timeouts: resolve, connect, send, receive
	objHTTP.setTimeouts 3000, 3000, 5000, 5000
	objHTTP.Open "GET", strPage, False
	objHTTP.Send

	If Err.Number = 0 AND objHTTP.Status = 200 Then
		strXMLout = "UPPE
	Else
		strXMLout = "NERE"
	End If

Set objHTTP = Nothing 
GetHTML = strXMLout
End Function

Sen testar du att connecta mot en sida på servern du vill kolla med:

<%=GetHTML("http://www.doman.com/sida.htm")%>

Då bör funktionen returnera UPPE eller NERE.

Finns inte Msxml2.ServerXMLHTTP så prova med den äldre XMLHTTP istället.

Förresten... Det kan nog hända att funktionen i vissa fall inte returnerar något alls beroende på var timeot inträffar(.setTimeouts ställer in timeoutvärdena direkt i winsock) så lägg in en if-else sats som endast kollar efter "UPPE" vid utskrift.

If GetHTML("http://www.doman.com/sida.htm") = "UPPE" Then
Response.Write "Sidan är uppe!" 
Else 
Response.Write "Sidan är nere!" 
End If

Förresten #2: För att kolla om komponenten finns så kommentera bort On Error Resume Next ;) Men annars bör den finnas där för hanteringen av timeouts.

267 ms totalt · 4 externa anrop · v20260731065814-full.2f471f9e
119 ms — deklarationer (db)
0 ms — hämta statistik (cache)
136 ms — hämta tråd, inlägg och bilagor (db)
129 ms — ändringar (db)