Página 1 de 1

Chequear una página Web

Publicado: Mar Feb 14, 2012 5:45 pm
por perolero
Quisiera preparar un pequeño programita, para a través de un Timer chequear cada x tiempo si una página Web está o no caida, pues me temo que está caida más veces de lo que pienso.
Hay alguna manera de hacerlo desde Xailer ?
Gracias.
Emilio Gil.

Chequear una página Web

Publicado: Mar Feb 14, 2012 8:09 pm
por jlalin
Emilio,
prueba algo así­:
FUNCTION CheckWeb( cURL )
LOCAL lOk := .F.
WITH OBJECT TInternet():New()
IF :Open()
lOk := :Connect( cURL )
:Close()
ENDIF
END
RETURN lOk
Está escrito al vuelo y no lo he probado.
Saludos,
José Lalí­n

Chequear una página Web

Publicado: Mié Feb 15, 2012 9:22 am
por perolero
Hola Lalin:
Con esto ya habí­a probado y poniendo cualquier valor en cURL siempre devuelve en :connect(cURL) verdadero, sólo si cURL := "" devuelve falso.
Un saludo y gracias.
Emilio Gil.

Chequear una página Web

Publicado: Mié Feb 15, 2012 10:42 am
por jlalin
Emilio,
recuerdo que habí­a visto algo en el foro de xHarbour:
http://www.rhinocerus.net/forum/lang-xh ... 72-ping-xh arbour-2.html
Si necesitas ayuda para implementarla en Xailer no dudes en decirlo.
Saludos,
José Lalí­n

Chequear una página Web

Publicado: Mié Feb 15, 2012 1:40 pm
por perolero
Lalin:
Al colocar dicha función en xailer me da el siguiente error:
Compilando tPrincipal.prg...
Enlazando gestion.exe...
Error: Unresolved external '_HB_FUN_HB_PING' referenced from C:XAILER2GESTIONOBJTPRINCIPAL.OBJ
1 Files, 0 Warnings, 1 Errors
Tiempo de compilación: 0.67s Tiempo de enlazado: 0.34s Tiempo total: 1.05s
Me puedes ayudar un poco a resolver en xailer.
Gracias.
Emilio Gil.

Chequear una página Web

Publicado: Mié Feb 15, 2012 8:02 pm
por jlalin
Emilio,
aquí­ la tienes funcionando. La he renombrado a XA_Ping() para evitar la
colisión de nombres y he tenido que corregir un par de bugs.
Añade el fuente y la librerí­a a tu proyecto y llámala con:
IF XA_Ping( cURL ) == 0
MsgInfo( "Ok" )
ENDIF
Saludos,
José Lalí­n
--

Chequear una página Web

Publicado: Jue Feb 16, 2012 10:17 am
por perolero
JLalin wrote on Wed, 15 February 2012 20:02Emilio,
aquí­ la tienes funcionando. La he renombrado a XA_Ping() para evitar la
colisión de nombres y he tenido que corregir un par de bugs.
Añade el fuente y la librerí­a a tu proyecto y llámala con:
IF XA_Ping( cURL ) == 0
MsgInfo( "Ok" )
ENDIF
Saludos,
José Lalí­n
--
Discúlpame José, me dices que has corregido unos bugs, que compile y añada librerí­a a mi proyecto, pero ¿donde están los fuentes que tengo que compilar ?
Un saludo.

Chequear una página Web

Publicado: Jue Feb 16, 2012 1:24 pm
por jlalin
Emilio,
el zip está adjunto al mensaje anterior.
Saludos,
José Lalí­n

Chequear una página Web

Publicado: Jue Feb 16, 2012 6:06 pm
por jfgimenez
Emilio,
> Quisiera preparar un pequeño programita, para a través de
> un Timer chequear cada x tiempo si una página Web está o
> no caida, pues me temo que está caida más veces de lo que
> pienso.
>
> Hay alguna manera de hacerlo desde Xailer ?
Aparte de que lo puedas hacer con Xailer, hay servicios gratuitos que te
permiten monitorizar una web, precí­samente para saber si está en lí­nea o
caida. Yo utilizo montastic (http://www.montastic.com). El servicio
gratuito te permite monitorizar hasta 3 direcciones, e indicar la
frecuencia de chequeo (mí­nimo cada 30 minutos). El servicio de pago te
permite comprobarlo cada 5 minutos. Y una de las cosas buenas que tiene,
es que te envia una alerta por email cuando cae la web, y otra cuando
vuelve a estar activa.
Un saludo,
José F. Giménez
http://www.xailer.com
http://www.xailer.info

Chequear una página Web

Publicado: Vie Feb 17, 2012 4:58 am
por Carlos Ortiz
Al compilar salen estos mensajes:
Compilando xaping.prg...
Error E2209 xaping.prg 22: Unable to open include file 'icmpapi.h'
Warning W8065 xaping.prg 68: Call to function 'IcmpCreateFile' with no
prototype in function HB_FUN_XA_PING
Warning W8069 xaping.prg 68: Nonportable pointer conversion in function
HB_FUN_XA_PING
Warning W8065 xaping.prg 83: Call to function 'IcmpSendEcho' with no
prototype in function HB_FUN_XA_PING
Warning W8065 xaping.prg 90: Call to function 'IcmpCloseHandle' with no
prototype in function HB_FUN_XA_PING
1 Files, 4 Warnings, 1 Errors
Tiempo de compilación: 0.30s Tiempo de enlazado: 0s Tiempo total: 0.31s
Carlos Ortiz.

Chequear una página Web

Publicado: Vie Feb 17, 2012 10:06 am
por jrcpoli-quitar
#ifndef _ICMPAPI_H
#define _ICMPAPI_H
#if __POCC__ >= 500
#pragma once
#endif
/* Windows ICMP Echo Request API definitions (idiot version) */
#if defined(WIN32_DEFAULT_LIBS)
#pragma comment(lib, "iphlpapi.lib")
#endif
#ifdef __cplusplus
extern "C" {
#endif
HANDLE WINAPI IcmpCreateFile(VOID);
#if (NTDDI_VERSION >= NTDDI_WINXP)
HANDLE WINAPI Icmp6CreateFile(VOID);
#endif /* NTDDI_VERSION >= NTDDI_WINXP */
BOOL WINAPI IcmpCloseHandle(HANDLE);
DWORD WINAPI IcmpSendEcho(HANDLE, IPAddr, LPVOID, WORD, PIP_OPTION_INFORMATION, LPVOID, DWORD, DWORD);
DWORD WINAPI IcmpSendEcho2(HANDLE,HANDLE,
#ifdef PIO_APC_ROUTINE_DEFINED
PIO_APC_ROUTINE,
#else /* !PIO_APC_ROUTINE_DEFINED */
FARPROC,
#endif /* !PIO_APC_ROUTINE_DEFINED */
PVOID, IPAddr, LPVOID, WORD, PIP_OPTION_INFORMATION, LPVOID, DWORD, DWORD);
#if (NTDDI_VERSION >= NTDDI_VISTASP1)
DWORD WINAPI IcmpSendEcho2Ex(HANDLE, HANDLE,
#ifdef PIO_APC_ROUTINE_DEFINED
PIO_APC_ROUTINE,
#else /* !PIO_APC_ROUTINE_DEFINED */
FARPROC,
#endif /* !PIO_APC_ROUTINE_DEFINED */
PVOID, IPAddr, IPAddr, LPVOID, WORD, PIP_OPTION_INFORMATION, LPVOID, DWORD, DWORD);
#endif /* NTDDI_VERSION >= NTDDI_VISTASP1 */
#if (NTDDI_VERSION >= NTDDI_WINXP)
DWORD WINAPI Icmp6SendEcho2(HANDLE, HANDLE,
#ifdef PIO_APC_ROUTINE_DEFINED
PIO_APC_ROUTINE,
#else /* !PIO_APC_ROUTINE_DEFINED */
FARPROC,
#endif /* !PIO_APC_ROUTINE_DEFINED */
PVOID, struct sockaddr_in6 *, struct sockaddr_in6 *, LPVOID, WORD, PIP_OPTION_INFORMATION, LPVOID, DWORD, DWORD);
#endif /* NTDDI_VERSION >= NTDDI_WINXP */
DWORD IcmpParseReplies(LPVOID, DWORD);
#if (NTDDI_VERSION >= NTDDI_WINXP)
DWORD Icmp6ParseReplies(LPVOID, DWORD);
#endif /* NTDDI_VERSION >= NTDDI_WINXP */
#ifdef __cplusplus
}
#endif
#endif /* _ICMPAPI_H */
--

Chequear una página Web

Publicado: Vie Feb 17, 2012 1:43 pm
por jlalin
Carlos,
> Error E2209 xaping.prg 22: Unable to open include file 'icmpapi.h'
los warnings aparecen por la falta de un archivo de cabecera. Asegúratede
tener las rutas configuradas y el BCC instalado correctamente.
De todas formas, leyendo la documentación de la MSDN veo que tal como está
hecho no funcionará correctamente en algunas versiones del SO así­ que lo
corregiré y lo publicaré la semana que viene.
Saludos,
José Lalí­n

Chequear una página Web

Publicado: Sab Feb 18, 2012 4:58 am
por Carlos Ortiz
Solucionado lo de los warnings con el .h que subió José Ramón. (Gracias
JRCP)
Compilé y funciona correctamente tanto para páginas web como para
directorios remotos ftp
(Plataforma XP, Xailer 2.4)
En un par de dias lo probaré en Windows 2000 / 2003 server y W7.
Nuevamente muchas gracias!!!
Carlos Ortiz

Chequear una página Web

Publicado: Lun Feb 20, 2012 12:18 pm
por jlalin
Carlos,
> Solucionado lo de los warnings con el .h que subió José Ramón. (Gracias
> JRCP)
Comprueba el directorio BCCinclude, ese archivo debe estar ahí­ y no en
otra parte.
> En un par de dias lo probaré en Windows 2000 / 2003 server y W7.
10 a 1 a que falla en W2K :-D
Saludos,
José Lalí­n

Chequear una página Web

Publicado: Lun Feb 20, 2012 7:41 pm
por jrcpoli-quitar
Hola José Lalí­n:
El 20/02/2012 12:18, José Lalí­n escribió:
> Carlos,
>
>> Solucionado lo de los warnings con el .h que subió José Ramón. (Gracias
>> JRCP)
>
> Comprueba el directorio BCCinclude, ese archivo debe estar ahí­ y no en
> otra parte.
En mi directorio BCCinclude, ese archivo no existe, lo encontré en el
directorio PellesCinclude y lo probé poniéndolo en el include del
proyecto, pero si tú dices que debe estar en ese otro directorio no hay
problema y lo copio ahí­ pero serí­a mejor que pasaras el que tú tienes en
BCC/include para que fuera el mismo, o me dijeras de donde lo puedo
descargar.
>
>> En un par de dias lo probaré en Windows 2000 / 2003 server y W7.
>
> 10 a 1 a que falla en W2K :-D
La prueba que yo he realizado con windows XP no falla ahora que estoy
seguro que si tú dices que falla con otras versiones de windows será así­.
>
> Saludos,
> José Lalí­n
>
>
José Ramón Castro.

Chequear una página Web

Publicado: Mar Feb 21, 2012 10:29 am
por jlalin
José Ramón,
he estado mirándolo y creo recordar que BCC no lo incluye de serie y el que
tengo lo copié desde el MSDK. De todas formas lo incluiré con la próxima
actualización de la función.
> La prueba que yo he realizado con windows XP no falla ahora que estoy
> seguro que si tú dices que falla con otras versiones de windows seráasí­.
No estoy 100% seguro pero me imagino que fallará. No importa puesto que he
modificado el código para que funcione según se especifica en la MSDN y de
paso ya no es necesario enlazar la librerí­a que está en el ZIP.
Luego intentaré subirlo.
Saludos,
José Lalí­n