Home All Groups Group Topic Archive Search About
Author
13 Oct 2007 7:49 PM
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

Author
13 Oct 2007 8:28 PM
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>

--
Evertjan.
The Netherlands.
(Please change the x'es to dots in my emailaddress)
Are all your drivers up to date? click for free checkup

Author
14 Oct 2007 3:49 AM
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.
Author
14 Oct 2007 9:21 AM
Anthony Jones
"Gabriella" <frohlin***@yahoo.com> 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
Author
15 Oct 2007 7:01 AM
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.
Author
15 Oct 2007 10:17 AM
Anthony Jones
"Gabriella" <frohlin***@yahoo.com> 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
Author
16 Oct 2007 7:05 PM
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!

Bookmark and Share