elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Recuerda que debes registrarte en el foro para poder participar (preguntar y responder)


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  .NET (C#, VB.NET, ASP)
| | | |-+  Programación Visual Basic (Moderadores: LeandroA, seba123neo)
| | | | |-+  Comprobar si una web existe [reto?]
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Comprobar si una web existe [reto?]  (Leído 2,902 veces)
Psyke1
Wiki

Desconectado Desconectado

Mensajes: 1.089



Ver Perfil WWW
Comprobar si una web existe [reto?]
« en: 6 Septiembre 2010, 11:04 am »

Para comprobar si una web existe hago esto:

Código
  1. Option Explicit
  2.  
  3. Function Check_Web_Exists(ByVal sURL As String) As Boolean
  4. Dim oXHTTP                  As Object
  5. Set oXHTTP = CreateObject("MSXML2.XMLHTTP")
  6.   If Not UCase$(sURL) Like "HTTP:*" Then sURL = "http://" & sURL
  7.   On Error GoTo Error_
  8.   With oXHTTP
  9.       .Open "HEAD", sURL, False
  10.       .Send
  11.       If .Status = 200 Then Check_Web_Exists = True
  12.   End With
  13.   Set oXHTTP = Nothing
  14.   Exit Function
  15. Error_:
  16. End Function

Ejemplo:
Código
  1. Private Sub Form_Load()
  2.    MsgBox Check_Web_Exists("www.google.es")
  3.    MsgBox Check_Web_Exists("www.eljuaker.net")
  4. End Sub

Devuelve:
Citar
Verdadero
Falso

Alguien lo sabe hacer más rapido?¿

DoEvents¡! :P


En línea

Karcrack


Desconectado Desconectado

Mensajes: 2.416


Se siente observado ¬¬'


Ver Perfil
Re: Comprobar si una web existe [reto?]
« Respuesta #1 en: 6 Septiembre 2010, 14:37 pm »

Código:
'WININET
Private Declare Function HttpQueryInfoW Lib "WININET" (ByVal hRequest As Long, ByVal dwInfoLevel As Long, ByRef lpBuffer As Any, ByRef lpdwBufferLength As Long, ByRef lpdwIndex As Long) As Long
Private Declare Function InternetCloseHandle Lib "WININET" (ByVal hInternet As Long) As Boolean
Private Declare Function InternetOpenW Lib "WININET" (ByVal lpszAgent As Long, ByVal dwAccessType As Long, ByVal lpszProxy As Long, ByVal lpszProxyBypass As Long, ByVal dwFlags As Long) As Long
Private Declare Function InternetOpenUrlW Lib "WININET" (ByVal hInternet As Long, ByVal lpszUrl As Long, ByVal lpszHeaders As Long, ByVal dwHeadersLength As Long, ByVal dwFlags As Long, ByRef dwContext As Long) As Long

Private Const INTERNET_OPEN_TYPE_DIRECT As Long = 1
Private Const INTERNET_FLAG_RELOAD      As Long = &H80000000
Private Const HTTP_QUERY_STATUS_CODE    As Long = 19
Private Const HTTP_QUERY_FLAG_NUMBER    As Long = &H20000000
Private Const HTTP_STATUS_OK            As Long = 200
Private Const HTTP_STATUS_REDIRECT      As Long = 302
Private Const STRING_AGENT              As String = "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1)"
Código
  1. Option Explicit
  2.  
  3. Public Function CheckWetherExists(ByVal sURL As String) As Boolean
  4.    Dim hInet                           As Long
  5.    Dim hURL                            As Long
  6.    Dim lStatus                         As Long
  7.  
  8.    hInet = InternetOpenW(StrPtr(STRING_AGENT), INTERNET_OPEN_TYPE_DIRECT, 0&, 0&, 0&)
  9.    If hInet = 0 Then GoTo Fail
  10.  
  11.    hURL = InternetOpenUrlW(hInet, StrPtr(sURL), 0&, 0&, INTERNET_FLAG_RELOAD, ByVal 0&)
  12.    If hURL = 0 Then GoTo Fail
  13.  
  14.    If HttpQueryInfoW(hURL, HTTP_QUERY_FLAG_NUMBER Or HTTP_QUERY_STATUS_CODE, lStatus, &H4, ByVal 0&) Then
  15.        CheckWetherExists = (lStatus = HTTP_STATUS_OK) Or (lStatus = HTTP_STATUS_REDIRECT)
  16.    End If
  17.  
  18. Fail:
  19.    Call InternetCloseHandle(hInet)
  20.    Call InternetCloseHandle(hURL)
  21. End Function
Yo lo hago mas guay :xD, aunque no se si mas rapido... :P

Atento al HTTP_STATUS_REDIRECT :)


En línea

Elemental Code


Desconectado Desconectado

Mensajes: 622


Im beyond the system


Ver Perfil
Re: Comprobar si una web existe [reto?]
« Respuesta #2 en: 6 Septiembre 2010, 23:03 pm »

me temo a dejarlos como poco ideativos.

ping?

ping google.com

devuelve todo bien

ping www.yonoexistonidecasusalidad.com

no anda.

cuando tenga tiempo lo pongo mas "lindo" para uds.
Tengo examen parcial de ingles en 1 hora y no speak english >.<
En línea

I CODE FOR $$$
Programo por $$$
Hago tareas, trabajos para la facultad, lo que sea en VB6.0

Mis programas
bizco


Desconectado Desconectado

Mensajes: 698


Ver Perfil
Re: Comprobar si una web existe [reto?]
« Respuesta #3 en: 6 Septiembre 2010, 23:26 pm »

un ping no serviria, entiendo que hay que verificar la existencia de un servidor http y algun index para determinar que es una web. que un dominio exista no quiere decir una web concretamente.
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
[VB6] Comprobar si proceso existe y mostrar su ruta, AYUDA
Programación Visual Basic
revenge1252 7 9,141 Último mensaje 20 Mayo 2011, 11:23 am
por revenge1252
comprobar si existe un archivo « 1 2 »
Programación C/C++
MasterPunk 13 20,260 Último mensaje 9 Febrero 2012, 04:04 am
por wachi
[BASH] Comprobar si existe archivo, para evitar reemplazarlo
Scripting
WaAYa HaCK 3 4,518 Último mensaje 25 Febrero 2012, 00:42 am
por leogtz
[RESUELTO] comprobar si usuario existe al tabular campo
Desarrollo Web
jecavi20 8 4,596 Último mensaje 2 Septiembre 2013, 21:28 pm
por jecavi20
Comprobar que una página web existe, en python.
Scripting
antkk 1 3,026 Último mensaje 29 Mayo 2015, 15:35 pm
por MCKSys Argentina
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines