ciao, usa HttpWebRequest e HttpWebResponse, attraverso HttpStatusCode lavori facile facile (sempre se non va in errore prima)...

VB
codice:
Private Shared Function siteUp(ByVal url As String, ByVal credenziali As ICredentials) As Boolean
        Dim result As Boolean = False
        Try
            Dim request As HttpWebRequest = DirectCast(HttpWebRequest.Create(url), HttpWebRequest)
            request.Credentials = credenziali
            request.Method = "GET"
            Using response As HttpWebResponse = DirectCast(request.GetResponse(), HttpWebResponse)
                result = Not (response Is Nothing OrElse response.StatusCode <> HttpStatusCode.OK)
            End Using
        Catch e As Exception
            result = False
        End Try
        Return result
    End Function

C#
codice:
private static bool siteUp(string url, ICredentials credenziali)
        {
            bool result = false;
            try
            {
                HttpWebRequest request = (HttpWebRequest)HttpWebRequest.Create(url);
                request.Credentials = credenziali;
                request.Method = "GET";
                using (HttpWebResponse response = (HttpWebResponse)request.GetResponse())
                {
                    result = !(response == null || response.StatusCode != HttpStatusCode.OK);
                }
            }
            catch (Exception e)
            {
                result = false;
            }
            return result;
        }
e lo usi così :

VB
codice:
'in caso servano le credenziali usi :
        'NetworkCredential nc = new NetworkCredential("User", "password");
        'diversamente :
        Dim nc As NetworkCredential = DirectCast(CredentialCache.DefaultCredentials, NetworkCredential)
        Dim result As Boolean = siteUp("http://www.html.it/", nc)
        result = siteUp("http://www.html.it/pippo.lll", nc)
C#
codice:
//in caso servano le credenziali usi :
//NetworkCredential nc = new NetworkCredential("User", "password");
//diversamente :
            NetworkCredential nc = (NetworkCredential)CredentialCache.DefaultCredentials;
            bool result = siteUp("http://www.html.it/", nc);
            result = siteUp("http://www.html.it/pippo.lll", nc);
EDIT :
W i traduttori di codice... in 0 secondi