Du laver bare et XMLHTTP request til en side på serveren.. hvis du får fat på siden, er serveren oppe.. ellers er den nede..
Denne kode indlæser en url, og returnerer kildekoden:
<% option explicit on error resume next
function loadpage(url) dim kildekode
Dim objXMLHTTP, xml
' Create an xmlhttp object: Set xml = Server.CreateObject("Microsoft.XMLHTTP") ' Or, for version 3.0 of XMLHTTP, use: ' Set xml = Server.CreateObject("MSXML2.ServerXMLHTTP")
' Opens the connection to the remote server. xml.Open "GET", url, False
' Actually Sends the request and returns the data: xml.Send
' Create an xmlhttp object: Set xml = Server.CreateObject("Microsoft.XMLHTTP") ' Or, for version 3.0 of XMLHTTP, use: ' Set xml = Server.CreateObject("MSXML2.ServerXMLHTTP")
' Opens the connection to the remote server. xml.Open "GET", url, False
' Actually Sends the request and returns the data: xml.Send
kildekode = xml.responseText
Set xml = Nothing
if err.number <> 0 then kildekode = "FEJL!: " & err.number & " - " & err.description
bauerdata> Du har det med altid at svare i Python. Vær venlig ikke at svare i Python, når der skal bruges ASP, eller et andet sprog.
Jeg vil anbefale, at du enten holder op med at svare i Python, i ikke-Python kategorierne. Eller tag dig sammen og lær et eller flere programmeringssprog.
Hvis du fortsætter med at besvare ikke-Python relatererede spørgsmål, med Python, vil jeg anmelde dig brud på Ekspertens regel §2.1.8, der siger:
"[Det er ikke tilladt at:] spamme, flame eller skrive indlæg uden relevans for det aktuelle spørgsmål."
Python er ikke relevant for dette spørgsmål, selvom det kan lade sig gøre, at løse et ligende problem med Python.. eller PHP, for den sagsskyld.
ok, så bliver det på denne her måde, jeg har 2 web-servere så self skal kunne vise sider på nettet, den ene server skal være den hvor min hjemmesider er på og på den side skal der være en lille boks med et driftstatus over de to servere, hvor man kan se om de er online eller offline og ja hvis server1 ikke er online nej så kan man slet ikke se siden så den er faktisk unødvendig at ha', men nu har jeg besluttet mig for at vise statuset for server1 også.
1) Gem ASP koden i en kaldet status.asp 2) Inkluder filen i toppen af de sider, der skal kunne vise status 3) Indsæt følgende kode: <%=loadpage("adressen her")%>
Det er bare det. Husk at der *ikke* må være HTML kode før linien "option explicit". Hvis du vil, kan du fjerne linien "option explicit". Den linie tvinger programmøren til at "dim"'e (erklære) variablerne, før de kan bruges.. hvilket betyder, at server forhindre stavefejl når du skriver variabelnavne forkert, da de jo allerede skulle være defineret.
thesurfer, måske jeg kan logge dig til at rette det lidt til, jeg har en side bygget op med css og en main boks hvor alle mine sider bliver vist, kig her. www.hilsoe.dk, det er til højre for scroll baren jeg gerne vil have to linjer en linje per server hvor der står om serveren er online eller offline.
jeg hoster selv begge servere. Hvad angår den fil som den skal kigge efter, hvis jeg nu kigger efter en default.asp, kan det så ikke drille når jeg nu hoster en hjemmeside for en kammerat og han også har en default.asp????
' Create an xmlhttp object: Set xml = Server.CreateObject("Microsoft.XMLHTTP") ' Or, for version 3.0 of XMLHTTP, use: ' Set xml = Server.CreateObject("MSXML2.ServerXMLHTTP")
' Opens the connection to the remote server. xml.Open "GET", url, False
' Actually Sends the request and returns the data: xml.Send
kildekode = xml.responseText
Set xml = Nothing
dim status if err.number <> 0 then 'kildekode = "FEJL!: " & err.number & " - " & err.description status = "<img src=""offline.gif"" alt=""offline"" title=""offline"">offline" else status = "<img src=""online.gif"" alt=""offline"" title=""online"">online" end if
Jeg lagde lige mærke til, at der står "offline" som alternativ tekst..
Her er rettelsen, som erstatte nuværende kode:
dim status if err.number <> 0 then 'kildekode = "FEJL!: " & err.number & " - " & err.description status = "<img src=""offline.gif"" alt=""offline"" title=""offline"">offline" else status = "<img src=""online.gif"" alt=""online"" title=""online"">online" end if
' Create an xmlhttp object: Set xml = Server.CreateObject("Microsoft.XMLHTTP") ' Or, for version 3.0 of XMLHTTP, use: ' Set xml = Server.CreateObject("MSXML2.ServerXMLHTTP")
' Opens the connection to the remote server. xml.Open "GET", url, False
' Actually Sends the request and returns the data: xml.Send
kildekode = xml.responseText
Set xml = Nothing
dim status if err.number <> 0 then 'kildekode = "FEJL!: " & err.number & " - " & err.description status = "<img src=""offline.gif"" alt=""offline"" title=""offline"">offline" else status = "<img src=""online.gif"" alt=""offline"" title=""online"">online" end if
Der står at du skal erstatte det den eksisterende kodeblok, der ligner det her, med det her:
dim status if err.number <> 0 then 'kildekode = "FEJL!: " & err.number & " - " & err.description status = "<img src=""offline.gif"" alt=""offline"" title=""offline"">offline" else status = "<img src=""online.gif"" alt=""online"" title=""online"">online" end if
:-)
Grunden til det er, at der i din nuværende kode står: alt=""offline"" ved online-billedet..
Der skal selvfølige stå: alt=""online""
Jeg mente at det var nemmere at erstatte hele kode-bloken, i stedet for at skulle til at forklare netop denne del..
lol nej jeg ar bare træt, har været oppe siden fanden fik sko på. har set det og rettet det. men der er dog stadig en ting jeg ikke forstår, der står stadig at server1 er offline selvom den er online.
det var hurtigt, men det lykkes mig at finde ud af det. Det kan faktisk godt lade sig gøre at kontrollere om en service køre med asp for IIS ser det sådan her ud:
function fnIsServiceRunningVB() dim objShell dim bReturn
set objShell = CreateObject("Shell.Application") bReturn = objShell.IsServiceRunning("IISADMIN") set objShell = nothing fnIsServiceRunningVB = bReturn end function
function fnIsServiceRunningVB() dim objShell dim bReturn
set objShell = CreateObject("Shell.Application") bReturn = objShell.IsServiceRunning("IISADMIN") set objShell = nothing fnIsServiceRunningVB = bReturn end function
Så kan du fra A bruge følgende, til at få True eller False fra B:
function loadpage(url) on error resume next
dim kildekode
Dim objXMLHTTP, xml
' Create an xmlhttp object: Set xml = Server.CreateObject("Microsoft.XMLHTTP") ' Or, for version 3.0 of XMLHTTP, use: ' Set xml = Server.CreateObject("MSXML2.ServerXMLHTTP")
' Opens the connection to the remote server. xml.Open "GET", url, False
' Actually Sends the request and returns the data: xml.Send
kildekode = xml.responseText
Set xml = Nothing
if err.number <> 0 then kildekode = "FEJL!: " & err.number & " - " & err.description loadpage = kildekode end function
Hvis du ikke kan få forbindelse til filen " http://www.B.dk/serv.asp ", får du en fejlmeddelelse retur.
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.