Avatar billede bobbedude Nybegynder
19. november 2007 - 14:14 Der er 8 kommentarer og
1 løsning

er billede online ServerXMLHTTP

Kan man checke fra en server om et billede på en anden er online ?

Jeg har prøvet med følgene:

function GetHTML(url)
    Set xmlhttp = Server.CreateObject("MSXML2.ServerXMLHTTP.3.0")
    xmlhttp.open "GET", url, false
    xmlhttp.setRequestHeader "User-Agent","My funky browser."
    xmlhttp.send()
    response.write xmlhttp.status                  ' Add this line.
    If(xmlhttp.status=404) Then
          response.write("Src not found")
    Else
          response.write Len(xmlhttp.ResponseBody)  ' Add this line.
          response.write "<img src="&url&"> - "&xmlhttp.status&" <br>"
    End If
    If err.number <> 0 then
        response.write "Url not found"
    end if
    Set xmlhttp = nothing
end function

url = "http://www.eksperten.dk/img/elogo.png"

men uanset om billedet findes eller ej får jeg status kode 200 tilbage.
Avatar billede fennec Nybegynder
19. november 2007 - 14:36 #1
Ved ikke om du kan bruge det, men det kan gøres i HTML/JS rimlig nemt. Her har jeg 3 eks:

<img src="http://www.eksperten.dk/img/elogo.png" onerror="alert('Ikke online')"><br>
<img src="http://www.eksperten.dk/img/elogo1.png" onerror="alert('Ikke online')"><br>
<img src="http://www.eksperten.dk/img/elogo1.png" onerror="this.src='http://www.eksperten.dk/img/flag_green.gif'"><br>

Den første fejler ikke
Den anden fejler, og giver en alert
Den trejde fejler, og viser et andet billed
Avatar billede bobbedude Nybegynder
19. november 2007 - 14:44 #2
men hvordan får jeg billederne der eksister ind i en variabel.

For i = 100 To 136
%><img src="http://www.eksperten.dk/img/elogo1.png" onerror="<%=sletimage%>"><br>
<%
Next
Avatar billede bobbedude Nybegynder
19. november 2007 - 14:53 #3
Ups skulle have været
For i = 100 To 136
%><img src="http://www.eksperten.dk/img/elogo1.png" onerror="<%=insetimage%>"><br>
<%
Next
Avatar billede fennec Nybegynder
19. november 2007 - 15:14 #4
Dette var bare et eks på hvordan det kan gøres (dog med JS). Det er ikke sikkert det er denne metode du skal bruge.

Hvad er det egentlig du vil?? Tjekke om en server en online? Tjekke om et billed eksistere?? Eller nogte helt andet.
Avatar billede bobbedude Nybegynder
19. november 2007 - 15:51 #5
om det er online hvis det ikke er skal det smides ind i en database altså jeg skal på en eller anden måde have lavet noget i onerror der kan smide en variabel ind i asp
Avatar billede fennec Nybegynder
19. november 2007 - 16:08 #6
Hvad skal den database record så bruges til bagefter??

JS metoden er "instance", hvilket vil sige den kører på få milisek. Hvis du bare skal lave en liste over online servere, er det derfor bedre bare at køre JS koden hver gang, og slet ikke have en DB ind over.

Skal du derimod bruge det til noget historik, så du kan se hvornår en given server var on/offline er det noget andet.
Avatar billede bobbedude Nybegynder
19. november 2007 - 16:33 #7
jeg skal bruge den til "Skal du derimod bruge det til noget historik, så du kan se hvornår en given server var on/offline er det noget andet."
Avatar billede fennec Nybegynder
20. november 2007 - 08:55 #8
Så kan du desværre ikke bruge min løsning :(

Jeg har dog lige afprøvet din kode og den virker fint for mig. Du kan se den afviklet her:
http://henriknygaard.dk/experten/806520/

Har kaldt din funktion med:
Response.write GetHTML("http://www.eksperten.dk/img/elogo.png") & "<br>"
Response.write GetHTML("http://www.eksperten.dk/img/elogo1.png") & "<br>"
Avatar billede bobbedude Nybegynder
20. november 2007 - 12:39 #9
jeg gjorde selv dette

objHTTP.open "GET", strURL, False
objHTTP.send

sHTML = objHTTP.statusText
Holder = objHTTP.responseBody
Holder = Replace(Holder,"-","")
Holder = Replace(Holder," ","")
Holder = Len(Holder)



if Holder = 10683 then
'DEAD
Else
'ALIVE
End If


10683 = broken image
Avatar billede Ny bruger Nybegynder

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.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester