Link checker in ASP

Link checker in ASP

am 13.10.2007 21:49:17 von gabriella

Hi,

How can I check a link in ASP?

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

How can I do it?

Thanks, Gabi

Re: Link checker in ASP

am 13.10.2007 22:28:07 von exjxw.hannivoort

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.

remote-web-page.html>

--
Evertjan.
The Netherlands.
(Please change the x'es to dots in my emailaddress)

Re: Link checker in ASP

am 14.10.2007 05:49:58 von 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.

Re: Link checker in ASP

am 14.10.2007 11:21:53 von Anthony Jones

"Gabriella" wrote in message
news:1192333798.165994.238580@k35g2000prh.googlegroups.com.. .
> 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.


--
Anthony Jones - MVP ASP/ASP.NET

Re: Link checker in ASP

am 15.10.2007 09:01:34 von 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.

Re: Link checker in ASP

am 15.10.2007 12:17:22 von Anthony Jones

"Gabriella" wrote in message
news:1192431694.121109.33590@q3g2000prf.googlegroups.com...
> 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?


--
Anthony Jones - MVP ASP/ASP.NET

Re: Link checker in ASP

am 16.10.2007 21:05:05 von 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!