Henrik said:
Hi
How do I find out if an url exists? Whar I want is a function like this:
If UrlExists("
http://www.test.com/test.html") Then
Response.Write("Yeah!!")
Else
Response.Write("No file :-(")
End If
Can anyone help?
/Henrik
Will this help? Watch for word-wrap.
Function UrlExists(URL)
On Error Resume Next
Err.Clear
Dim b
With Server.CreateObject("Microsoft.XMLHTTP")
.Open "GET",URL,False
.Send
b = .ResponseBody
If Err.Number <> 0 Or .Status <> 200 Then
Fetch = False
Exit Function
End If
End With
Fetch = Err.Number = 0
End Function
I think that the object may vary by Windows version:
CreateObject("Microsoft.XMLHTTP")
CreateObject("MSXML2.ServerXMLHTTP")
CreateObject("MSXML2.ServerXMLHTTP.3.0")
So perhaps the following will work (untested):
Function UrlExists(URL)
On Error Resume Next
Err.Clear
Dim booXML
booXML= False
Dim strXML
Dim objXML
Set objXML = Server.CreateObject("Microsoft.XMLHTTP")
If Err.Number = 0 Then
booXML = True
Else
Set objXML = Server.CreateObject("MSXML2.ServerXMLHTTP")
If Err.Number = 0 Then
booXML = True
Else
Set objXML = Server.CreateObject("MSXML2.ServerXMLHTTP.3.0")
If Err.Number = 0 Then
booXML = True
End If
End If
Err.Clear
End If
objXML.Open "GET",URL,False
objXML.Send
strXML = .ResponseText
If Err.Number <> 0 Or objXML.Status <> 200 Then
Fetch = False
Exit Function
End If
Fetch = Err.Number = 0
End Function