Link checker in ASP

E

Evertjan.

Gabriella wrote on 13 okt 2007 in
microsoft.public.inetserver.asp.general:
I need to verify the exact link, just as
http://validator.w3.org/checklink performs the validation -
e.g.: if a user inserts http://www.exampleURL.com, i'd like to verify
whether it's
http://www.exampleURL.com OR
http://exampleURL.com OR
http://www.exampleURL.com/home.asp

All three could be valid, and some could be out temporarily.

Server.XMLhttp requesing the headers for a status = 200 answer should do
the trick.

<http://classicasp.aspfaq.com/general/how-do-i-read-the-contents-of-a-
remote-web-page.html>
 
G

Gabriella

Hi,
I understand that all three URLs are possible, but I want to know
WHICH ONE is being used by the webserver.
If you look at http://www.rsizr.com you will see they redirect you to
http://rsizr.com - that's what I'd like to know!
That's what http://validator.w3.org/checklink gives you.
Server.XMLhttpRequest only tells you, according to the status number,
whether this URL is broken or valid. Not good enough.
I need to know which exact URL is being used.

Thanks, Gabi.
 
A

Anthony Jones

Gabriella said:
Hi,
I understand that all three URLs are possible, but I want to know
WHICH ONE is being used by the webserver.
If you look at http://www.rsizr.com you will see they redirect you to
http://rsizr.com - that's what I'd like to know!
That's what http://validator.w3.org/checklink gives you.
Server.XMLhttpRequest only tells you, according to the status number,
whether this URL is broken or valid. Not good enough.
I need to know which exact URL is being used.

I'm not sure what Server.XMLhttpRequest is but I'll assume we are actually
talking about MSXML2.ServerXMLHTTP.3.0.

The site you give as an example is responding with a 301 Moved Permanetly
status and carries the header Location: http://rsizr.com.

ServerXMLHTTP will internally follow this redirection and will return
normally with a 200 response. The problem is that there is no way to
determine the final URL used internally to complete the request with MSXML3.
MSXML6 does provide an option to discover this.

The best and most compatible way is to use the underlying WinHTTP component
which on Win2000 SP2 or higher is present without additional installs:-

Function FinalURL(rsURL)

Dim oWinHTTP
Const WinHttpRequestOption_URL = 1

Set oWinHTTP = CreateObject("WinHttp.WinHttpRequest.5.1")

oWinHTTP.Open "HEAD", rsURL, False
oWinHTTP.Send

FinalURL = oWinHttp.Option(WinHttpRequestOption_URL)

End Function

sFinalURL = FinalURL("http://www.rsizr.com/")

You should note however that some sites still rely on HTML meta tags to
proform a similar function. In those cases this technique isn't going to
help.
 
G

Gabriella

Thanks Anthony, I've tried it and I get the following error:
"A connection with the server could not be established" right after
calling FinalURL method in line:
sFinalURL = FinalURL("http://www.rsizr.com/")
the error is displayed will every URL I try...
Any ideas why?
Gabi.
 
A

Anthony Jones

Gabriella said:
Thanks Anthony, I've tried it and I get the following error:
"A connection with the server could not be established" right after
calling FinalURL method in line:
sFinalURL = FinalURL("http://www.rsizr.com/")
the error is displayed will every URL I try...
Any ideas why?

If you logon to the server as an interactive session can you access the site
using IE?
If so, in IE internet settings is a proxy server configured?
 
G

Gabriella

Hi, I tried it on shared hosting web server, and it seems like they
blocked the methods
oWinHTTP.Open "HEAD", rsURL, False
oWinHTTP.Send
also using the same methods on MSXML2.ServerXMLHTTP.3.0. returns the
same error.
On the other hand, when trying it on my private web server - it works!
So THANKS!
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
473,764
Messages
2,569,565
Members
45,041
Latest member
RomeoFarnh

Latest Threads

Top