In order for this site to work correctly we need to store a small file (called a cookie) on your computer. Most every site in the world does this, however since the 25th of May 2011, by law we have to get your permission first. Please abandon the forum if you disagree.

Para que este foro funcione correctamente es necesario guardar un pequeño fichero (llamado cookie) en su ordenador. La mayoría de los sitios de Internet lo hacen, no obstante desde el 25 de Marzo de 2011 y por ley, necesitamos de su permiso con antelación. Abandone este foro si no está conforme.

Chequear una página Web

Foro público de Xailer en español
Responder
perolero
Mensajes: 135
Registrado: Mar Dic 21, 2010 9:54 am

Chequear una página Web

Mensaje 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.
jlalin
Mensajes: 926
Registrado: Sab Dic 25, 2010 11:10 pm

Chequear una página Web

Mensaje 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
perolero
Mensajes: 135
Registrado: Mar Dic 21, 2010 9:54 am

Chequear una página Web

Mensaje 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.
jlalin
Mensajes: 926
Registrado: Sab Dic 25, 2010 11:10 pm

Chequear una página Web

Mensaje 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
perolero
Mensajes: 135
Registrado: Mar Dic 21, 2010 9:54 am

Chequear una página Web

Mensaje 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.
jlalin
Mensajes: 926
Registrado: Sab Dic 25, 2010 11:10 pm

Chequear una página Web

Mensaje 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
--
perolero
Mensajes: 135
Registrado: Mar Dic 21, 2010 9:54 am

Chequear una página Web

Mensaje 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.
jlalin
Mensajes: 926
Registrado: Sab Dic 25, 2010 11:10 pm

Chequear una página Web

Mensaje por jlalin »

Emilio,
el zip está adjunto al mensaje anterior.
Saludos,
José Lalí­n
Avatar de Usuario
jfgimenez
Site Admin
Mensajes: 5706
Registrado: Lun Abr 06, 2015 8:48 pm
Contactar:

Chequear una página Web

Mensaje 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
José F. Giménez
[Equipo de Xailer / Xailer team]
http://www.xailer.com
http://www.xailer.info
Avatar de Usuario
Carlos Ortiz
Mensajes: 872
Registrado: Mié Jul 01, 2009 5:44 pm
Ubicación: Argentina - Córdoba
Contactar:

Chequear una página Web

Mensaje 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.
jrcpoli-quitar
Mensajes: 558
Registrado: Mar Feb 09, 2010 2:26 pm

Chequear una página Web

Mensaje 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 */
--
jlalin
Mensajes: 926
Registrado: Sab Dic 25, 2010 11:10 pm

Chequear una página Web

Mensaje 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
Avatar de Usuario
Carlos Ortiz
Mensajes: 872
Registrado: Mié Jul 01, 2009 5:44 pm
Ubicación: Argentina - Córdoba
Contactar:

Chequear una página Web

Mensaje 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
jlalin
Mensajes: 926
Registrado: Sab Dic 25, 2010 11:10 pm

Chequear una página Web

Mensaje 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
jrcpoli-quitar
Mensajes: 558
Registrado: Mar Feb 09, 2010 2:26 pm

Chequear una página Web

Mensaje 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.
jlalin
Mensajes: 926
Registrado: Sab Dic 25, 2010 11:10 pm

Chequear una página Web

Mensaje 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
Responder