Determine whether a url exists

We've offered you several different solutions for determining whether files exist. Each one comes with its own particular limitations or ideal-use conditions. The MSWC.Tools object is a good choice if you're checking for the existence of a file within the context of your own local root Web site. The FileSystemObject object, on the other hand, is good for checking for a file located anywhere on your physical file system (or in shares available to the Web user). We've also shown you a quick client-side approach for determining whether image files exist on any Web server, but the technique is intended for the client computer and applies, for the most part, just to images. Suppose you want to check for the existence or availability of a Web page on any arbitrary server. For instance, you might want to create an ASP page of your favorite links, but you want to make sure, on the server, programmatically, that each one exists and is currently available before you show it to your end users. The following code snippet demonstrates how you can use the MSXML library's ServerXMLHTTP object to carry out this task. Note: You'll need version 3.0 or later of the MSXML library to use this code.

<%
'Timeout values in milliseconds
lngResolveTimeout = 500
lngConnectTimeout = 500
lngSendTimeout = 500
lngReceiveTimeout = 500

strTestUrl = "http://www.microsoft.com/nonexistingpage.html"

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
%>

You might also like...

Comments

ElementK Journals

Contribute

Why not write for us? Or you could submit an event or a user group in your area. Alternatively just tell us what you think!

Our tools

We've got automatic conversion tools to convert C# to VB.NET, VB.NET to C#. Also you can compress javascript and compress css and generate sql connection strings.

“Computer science education cannot make anybody an expert programmer any more than studying brushes and pigment can make somebody an expert painter” - Eric Raymond