Den moderne arbejdsplads er i stigende grad afhængig af mødelokaler til at fremme samarbejde, men dette skift medfører også stigende sikkerhedsudfordringer.
Set objHttpRequest = CreateObject("MSXML2.ServerXMLHTTP") With objHttpRequest .SetTimeouts lngResolveTimeout, lngConnectTimeout, lngSendTimeout, lngReceiveTimeout .Open "GET", strTestUrl .Send Select Case .Status Case 200 'No problem! Response.Write strTestUrl & " is a valid, available URL" Case 404 'Not found Response.Write strTestUrl & " could not be found (404 Error)" Case Else 'Some other problem Response.Write "An unexpected HTTP Status value was returned: " & .Status End Select End With Set objHttpRequest = Nothing %>
Prøv det her.. gem koden i en fil, og skriv adressen på filen, plus: ?url=http://www.jubii.dk (her checkes om http://www.jubii.dk eksisterer)
Se om det virker hos dig:
<% if request.querystring("url") <> "" then
dim objXMLHTTP, resultat, html, url url = request.querystring("url")
Set objXMLHTTP = Server.CreateObject("Microsoft.XMLHTTP")
objXMLHTTP.Open "GET", url, false On Error Resume Next objXMLHTTP.Send
With objXMLHTTP Select Case .Status Case 200 'No problem! Response.Write url & " is a valid, available URL" Case 404 'Not found Response.Write url & " could not be found (404 Error)" Case Else 'Some other problem Response.Write "An unexpected HTTP Status value was returned: " & .Status End Select End With
Set objXMLHTTP = Nothing else response.write "Skriv venligst en adresse i 'url='-delen af adressen." end if %>
Set objXMLHTTP = Server.CreateObject("Microsoft.XMLHTTP")
objXMLHTTP.Open "GET", url, false On Error Resume Next objXMLHTTP.Send
With objXMLHTTP Select Case .Status Case 200 'No problem! Response.Write url & " is a valid, available URL" Case 404 'Not found Response.Write url & " could not be found (404 Error)" Case Else 'Some other problem Response.Write "An unexpected HTTP Status value was returned: " & .Status End Select End With
Set objXMLHTTP = Nothing else response.write "Skriv venligst en adresse i 'url='-delen af adressen." end if end function
Du mangler noget.. erstat: If Url<>"" Then dim objXMLHTTP, resultat, html
med: if request.querystring("url") <> "" then
dim objXMLHTTP, resultat, html, url url = request.querystring("url")
Men vent.. jeg tror at du blander 2 ting sammen.. mit eksempel er et selv stændigt eksempel, som du skulle teste.. hvis det virker, skal det rettes til.. Hvordan kalder du på funktionen CheckLink ?
Set objXMLHTTP = Server.CreateObject("Microsoft.XMLHTTP")
objXMLHTTP.Open "GET", url, false On Error Resume Next objXMLHTTP.Send
With objXMLHTTP Select Case .Status Case 200 'No problem! Response.Write url & " is a valid, available URL" Case 404 'Not found Response.Write url & " could not be found (404 Error)" Case Else 'Some other problem Response.Write "An unexpected HTTP Status value was returned: " & .Status End Select End With
Set objXMLHTTP = Nothing else response.write "Skriv venligst en adresse i 'url='-delen af adressen." end if end function
response.expires=0 Hjfunk=""
set datasaet=server.Createobject("adodb.Recordset") datakilde=DBfilnavn sqlsaetning="SELECT * from Weblinks Where Afd = '" & afd & "' order by kode asc" datasaet.open sqlsaetning, datakilde
hmm.. MSXML2.ServerXMLHTTP havde en timeout, hvilket x ikke har.. men den burde ikke sætte sig fast.. Prøv at skrive Response.Buffer = False lige ned under Option Explicit.. dvs:
Set objHttpRequest = CreateObject("MSXML2.ServerXMLHTTP") With objHttpRequest .SetTimeouts lngResolveTimeout, lngConnectTimeout, lngSendTimeout,lngReceiveTimeout .Open "GET", Url .Send Select Case .Status Case 200 'No problem! Response.Write Url & " is a valid, available URL" Case 404 'Not found Response.Write tUrl & " could not be found (404 Error)" Case Else 'Some other problem Response.Write "An unexpected HTTP Status value was returned: " &.Status End Select End With Set objHttpRequest = Nothing end function
Da melder den fejl
msxml3.dll error The server name or adress could not be resolved
MSXML2.ServerXMLHTTP kræver at msxml3.dll er installeret.
Som jeg skrev i mit indlæg (04/01-2004 14:33:47): mht til fejlen "msxml3.dll eror The server name or adress could not be resolved", så er det vist fordi du ikke har filen msxml3.dll installeret..
Og det var derfor at jeg skiftede til Microsoft.XMLHTTP, som ikke har brug for yderligere filer.
Problemet kan være, at den prøver på at check flere urls på én gang.. men jeg ved ikke hvorfor.. Hvilken Windows kører du med? Win98? For XP har allerede msxml3.dll driveren..
Jeg tror vi skal lede efter problemet et andet sted - se jeg læsser i en access database med en odbc forbindelse - da jeg checker på ca 30 links fra databasen går der for langt tid fra jeg åbner til jeg er færdig med at læse i databasen - hvis jeg husker ret lukker den automatisk forbindelsen efter et bestemt antal sekunder - det må være årsagen ? - jeg er forlangt tid om at validerer hver links ?
set datasaet=server.Createobject("adodb.Recordset") datakilde=DBfilnavn sqlsaetning="SELECT * from Weblinks Where Afd = '" & afd & "' order by kode asc" datasaet.open sqlsaetning, datakilde
Der er nogle at de link som jeg tester på som er alt for langsomme til at svare tilbage - kan man rette functionen checklink til at returner hvis ikke der er svaret inderfor feks 3 - 4 sec ?
Et spørgsmål er først lukket, når der er accepteret et svar :)
Et alternativ til databasen-lukke-ned-problemet.. Man kunne jo hive alle data ud på én gang, og smide dem ind i flere streng, hvor værdierne er separeret af f.eks. "," eller ";". Derefter kan lukke forbindelsen til database, og stille og roligt teste dine links. Så kan du lave en opdatering af strengene, hvor de links der eksisterer på nettet, enten fjenes fra strengene (sammen med deres respektive værdier), eller også fjerner du linksne (og deres respektive værdier) der ikke eksisterer på nettet. Når alle links er checket, kan opdatere databasen med de links der eksisterer på nette.
Derved har du kun de links der er 'gyldige' i din database. Hvad siger du til det?
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.