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

 

 


Tema destacado: Introducción a Git (Primera Parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  .NET (C#, VB.NET, ASP)
| | | |-+  Programación Visual Basic (Moderadores: LeandroA, seba123neo)
| | | | |-+  Como saber si existe un LINK, un archivo en internet
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] 2 Ir Abajo Respuesta Imprimir
Autor Tema: Como saber si existe un LINK, un archivo en internet  (Leído 5,891 veces)
jrhomer

Desconectado Desconectado

Mensajes: 105



Ver Perfil WWW
Como saber si existe un LINK, un archivo en internet
« en: 10 Enero 2006, 23:49 pm »

Hola foro.

Necesito saber si un archivo, como por ejemplo www.pepe.com/log/uno.txt, existe.

Mirando el API lo que he visto parecido es la función IsValidURL, pero no obtengo el resultado que necesito, ya que esta funcion me indica si es "correcta" la URL, pero no si existe.

por ejemplo:

http://www.pepe.com/ es una URL correcta
hrrp:/www.pepe.com/ es una URL incorrecta
http://www.pepe.com/log/noExisto.txt es una URL correcta
sin embardo el archivo /log/noExisto.txt no existe...

no se si me he explicado, creo q si.

(aquí la posteo la función IsValidURL por si alguien la necesita)

Private Const S_FALSE = &H1
Private Const S_OK = &H0
'Only implemented as unicode...
Private Declare Function IsValidURL Lib "URLMON.DLL" (ByVal pbc As Long, ByVal szURL As String, ByVal dwReserved As Long) As Long
Private Sub Form_Load()
    'KPD-Team 2001
    'URL: http://www.allapi.net/
    'E-Mail: KPDTeam@Allapi.net
    MsgBox "Is valid URL: " + CStr(IsGoodURL("http://www.allapi.net"))
    MsgBox "Is valid URL: " + CStr(IsGoodURL("hxxp:/www.allapi.uhoh"))
End Sub
Public Function IsGoodURL(ByVal sURL As String) As Boolean
    'The IsValidURL always expects a UNICODE string, but whenever
    'VB calls an API function, it converts the strings to ANSI strings.
    'That's why we're going to use a trick here. Before calling the function,
    'We're going to convert the unicode string to unicode so we get a double
    'unicode string.
    'Before VB calls the API function, it converts our double unicode string
    'to a normal unicode string; exactely what IsValidURL is expecting.
    sURL = StrConv(sURL, vbUnicode)
    'Now call the function
    IsGoodURL = (IsValidURL(ByVal 0&, sURL, 0) = S_OK)
End Function


En línea

ups!!
jrhomer

Desconectado Desconectado

Mensajes: 105



Ver Perfil WWW
Re: Como saber si existe un LINK, un archivo en internet
« Respuesta #1 en: 11 Enero 2006, 11:29 am »

he probado con :

Código:
Private Declare Function URLDownloadToFile Lib "urlmon" Alias _
    "URLDownloadToFileA" (ByVal pCaller As Long, ByVal szURL As String, _
    ByVal szFileName As String, ByVal dwReserved As Long, _
    ByVal lpfnCB As Long) As Long
Public Function DownloadFile(URL As String, _
    LocalFilename As String) As Boolean
    Dim lngRetVal As Long
    lngRetVal = URLDownloadToFile(0, URL, LocalFilename, 0, 0)
    If lngRetVal = 0 Then DownloadFile = True
End Function[/P]
[P]
Sub Probando()
 If DownloadFile("[URL=http://www.loquesea/archivo2.pdf]www.loquesea/archivo2.pdf[/URL]", _
     "C:\mifichero.pdf") = True Then
  MsgBox "Descarga OK"
 Else
  MsgBox "Error en la descarga"
 End If
End Sub

pero no me interesa que se descargue el archivo,... alguien sabe como se puede comprobar sin necesidad de descargar el archivo.

un saludo.


En línea

ups!!
Kizar


Desconectado Desconectado

Mensajes: 1.325


kizar_net


Ver Perfil
Re: Como saber si existe un LINK, un archivo en internet
« Respuesta #2 en: 11 Enero 2006, 17:23 pm »

Digamos k la api IsValidURL ace una comprovacion muy simple de la url yo juraria k solo se fija en los puntos k tiene la url y si empiza por http:// .

A mi tambien me interesa lo de saber si un archivo existe.

Salu2
En línea

jrhomer

Desconectado Desconectado

Mensajes: 105



Ver Perfil WWW
Re: Como saber si existe un LINK, un archivo en internet
« Respuesta #3 en: 11 Enero 2006, 17:31 pm »

Digamos k la api IsValidURL ace una comprovacion muy simple de la url yo juraria k solo se fija en los puntos k tiene la url y si empiza por http:// .

A mi tambien me interesa lo de saber si un archivo existe.

Salu2
estoy probando con WebBrowser.... para ver si puedo cojer un error con el evento NavigateError... pero aun estoy probando, puede ser una "solución".

si sacais alguna solución no dudeis en postearla.
En línea

ups!!
Kizar


Desconectado Desconectado

Mensajes: 1.325


kizar_net


Ver Perfil
Re: Como saber si existe un LINK, un archivo en internet
« Respuesta #4 en: 11 Enero 2006, 18:57 pm »

Digamos k la api par abrir uan pagina web te devuelve 0 si la pagina no existe, el caso es k cuando en un servidor no existe un archivo te redireciona a la pagina de error 404 de el sitio entonces la api te dice k si k existe.

Salu2
En línea

jrhomer

Desconectado Desconectado

Mensajes: 105



Ver Perfil WWW
Re: Como saber si existe un LINK, un archivo en internet
« Respuesta #5 en: 11 Enero 2006, 21:54 pm »

Digamos k la api par abrir uan pagina web te devuelve 0 si la pagina no existe, el caso es k cuando en un servidor no existe un archivo te redireciona a la pagina de error 404 de el sitio entonces la api te dice k si k existe.

Salu2
a q API t refieres? a IsValidURL ? o a cual... lo digo para ver si podemos controlar lo del 0 q devuelve.
En línea

ups!!
Thaorius


Desconectado Desconectado

Mensajes: 1.073


Ver Perfil WWW
Re: Como saber si existe un LINK, un archivo en internet
« Respuesta #6 en: 11 Enero 2006, 22:01 pm »

Que tal si tratan de conectar con un socket al servidor y obtener el archivo?
Si el apache se los da, existe. Sino, les tirara un 404. Y si no se conecta tampoco existe.

Saludos
En línea

Si te sirvio mi aporte, encontrarás más en www.teoxstudios.com. Gracias!
Buscando un buen hosting? Click aquí
jrhomer

Desconectado Desconectado

Mensajes: 105



Ver Perfil WWW
Re: Como saber si existe un LINK, un archivo en internet
« Respuesta #7 en: 11 Enero 2006, 23:55 pm »

Que tal si tratan de conectar con un socket al servidor y obtener el archivo?
Si el apache se los da, existe. Sino, les tirara un 404. Y si no se conecta tampoco existe.

Saludos
no me interesa obtener el archivo, solo interesa conocer si existe o no. Esa es la duda que he planteado y que no hemos podido solucionar aun.
En línea

ups!!
Thaorius


Desconectado Desconectado

Mensajes: 1.073


Ver Perfil WWW
Re: Como saber si existe un LINK, un archivo en internet
« Respuesta #8 en: 12 Enero 2006, 01:18 am »

Justamente. Haces la peticion, si te llega un 404 pues no existe, sino te llega un error ni 404 ni 403 ni 501,etc existe e = cortas.

Saludos
En línea

Si te sirvio mi aporte, encontrarás más en www.teoxstudios.com. Gracias!
Buscando un buen hosting? Click aquí
jrhomer

Desconectado Desconectado

Mensajes: 105



Ver Perfil WWW
Re: Como saber si existe un LINK, un archivo en internet
« Respuesta #9 en: 12 Enero 2006, 09:47 am »

Que tal si tratan de conectar con un socket al servidor y obtener el archivo?
Si el apache se los da, existe. Sino, les tirara un 404. Y si no se conecta tampoco existe.

Saludos
no consigo cortar la descarga (antes de iniciarse) siempre q el archivo (mdb, en mi caso) existe, lo intenta descargar.

Tienes un ejemplo para guiarme?


un saludo.
En línea

ups!!
Páginas: [1] 2 Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Como saber si existe un registro en Windows?
.NET (C#, VB.NET, ASP)
_CrisiS_ 3 6,276 Último mensaje 23 Diciembre 2010, 18:25 pm
por SnakingMax
Como obviar archivo leido si no existe en C linux
Programación C/C++
RicGeo 1 2,111 Último mensaje 17 Junio 2014, 00:00 am
por xiruko
¿Cómo mostrar archivo en php con su link generado?
PHP
Ali Baba 0 3,340 Último mensaje 1 Abril 2018, 17:24 pm
por Ali Baba
Saber si existe conexión a Internet
Programación Visual Basic
YAcosta 1 1,988 Último mensaje 18 Noviembre 2018, 18:32 pm
por YAcosta
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines