Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 26-11-2021
Avatar de vroa74
vroa74 vroa74 is offline
Miembro
 
Registrado: jul 2006
Posts: 254
Poder: 18
vroa74 Va por buen camino
Question delphi validar si url esta activa

Buen dia:

he estado buscando la forma en la cual puedo saber si una url esta activa ya que necesito que me devuelva un valor si esta activa o no lo esta ya que tengo una base de datos de url las cual necesitoverificar.

he visto algunos post mas nada en concreto. no he logrado separar la url activo del error 404.
espero que alguno de ustedes me pueda ayudar.
Responder Con Cita
  #2  
Antiguo 26-11-2021
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.021
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Normalmente te devuelve un valor: 200 ok, 404 not found, etc...
Responder Con Cita
  #3  
Antiguo 29-11-2021
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.233
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
¿Valdría con un PING?
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
  #4  
Antiguo 29-11-2021
Avatar de delphi.com.ar
delphi.com.ar delphi.com.ar is offline
Federico Firenze
 
Registrado: may 2003
Ubicación: Buenos Aires, Argentina *
Posts: 5.932
Poder: 26
delphi.com.ar Va por buen camino
Lo primero que se me ocurre es hacer un GET a la URL y si no falla, "parsear" la respuesta para ver si contiene un texto de un breve diccionario de errores. Pero el problema que tienes actualmente, es que los servidores Web por ser amigables con el usuario, primero dejaron de responder errores para representarlos de forma amigable, y segundo te puedes encontrar con mensajes muy disparatados como: "Ups, algo no está bien".


Código Delphi [-]
uses
  System.SysUtils, HTTPApp, IdHTTP;

function CheckURI(AURL: string): boolean;
var
  HTTP: TIdHTTP;
begin
  try
     HTTP := TIdHTTP.Create;
     try
       HTTP.HandleRedirects := false;
       result := FuncionParaEvaluarResultado(HTTP.Get(AURL))
     finally
        HTTP.Destroy;
     end;
  except
     result := false;
  end;
end;

En ese ejemplo, la función inexistente "FuncionParaEvaluarResultado", sería la encargada de buscar según un diccionario, palabras y frases que indiquen error, y es muy importante tener en cuenta, que el resultado no va a ser estrictamente cierto, por ejemplo si incluís la URI a este hilo, y encontrarás en la respuesta del servidor el texto 404, si bien el servidor pudo encontrar el hilo.
__________________
delphi.com.ar

Dedique el tiempo suficiente para formular su pregunta si pretende que alguien dedique su tiempo en contestarla.
Responder Con Cita
  #5  
Antiguo 08-12-2021
Avatar de vroa74
vroa74 vroa74 is offline
Miembro
 
Registrado: jul 2006
Posts: 254
Poder: 18
vroa74 Va por buen camino
Question

Cita:
Empezado por Neftali [Germán.Estévez] Ver Mensaje
¿Valdría con un PING?
La validación por ping no me funciona ya que tengo que verificar si un archivo de una dirección ulr esta disponible
un ejemplo seria valida : http://www.mundomanuales.com/manuales/curso-Delphi.pdf que el archivo esta disponible.
Responder Con Cita
  #6  
Antiguo 09-12-2021
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.021
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Puedes usar herramientas como wget para descargar lo que quieras y te devuelven el error si no existe, ejemplo:


Responder Con Cita
  #7  
Antiguo 09-12-2021
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.233
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Cita:
Empezado por vroa74 Ver Mensaje
La validación por ping no me funciona ya que tengo que verificar si un archivo de una dirección ulr esta disponible
un ejemplo seria valida : http://www.mundomanuales.com/manuales/curso-Delphi.pdf que el archivo esta disponible.

Es que es diferente comprobar una URL como comentaste al inicio que la existencia de un fichero.
Puedes usar las Indy con un código como este:

Código Delphi [-]
procedure TForm3.Button1Click(Sender: TObject);
var
  ResponseCode:integer;
  ContentLength:int64;
begin
  IdHTTP1.Head(Edit1.Text {URL});  // URL= http://www.mundomanuales.com/manuales/curso-Delphi.pdf 
  ResponseCode :=  IdHTTP1.Response.ResponseCode; // 200 = OK etc
  ContentLength := IdHTTP1.Response.ContentLength;
end;


Lo único que se me ocurre es que podría ser que detectes que el fichewro existe, pero que luego no puedas descargarlo (porque el servidor decida que no tienes permiso para ello -no estoy 100% seguro de qe esa posibilidad pueda darse-).
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Abrir fichero asociado si la aplicacion ya esta activa. Geta Varios 4 13-03-2009 02:43:51
Cómo saber si una instrucción sql esta activa en un servidor de interbase? fredycc Firebird e Interbase 1 09-02-2009 11:10:01
Como averiguar que ventana de windows esta activa? JuanErasmo API de Windows 5 17-04-2006 22:47:40
como saber que columna del dbgrid esta activa? JavierO Varios 4 02-11-2005 20:55:26
como saber si una vandera (flag) esta activa o no en una variable DWord orfeo API de Windows 4 03-03-2005 23:22:00


La franja horaria es GMT +2. Ahora son las 13:44:39.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi