Actualizar Ip de Dyndns desde FiveWin :)

Post Reply
User avatar
pablovidal
Posts: 398
Joined: Thu Oct 06, 2005 10:15 pm
Location: Republica Dominicana
Contact:

Actualizar Ip de Dyndns desde FiveWin :)

Post by pablovidal »

Code: Select all

Function DynDns( cHostName )
Local cIp   := AllTrim( PublicIP() ) // PublicIP() es una funcion que esta en foro
Local Encode := hb_Base64Encode( "<usuario>:<clave>" ) // Usuario y Clave de acceso a DynDns
Local cBuffer, cRequest, cResponse, nBytes, pSocket

 INetInit()
  pSocket := INetConnect( "members.dyndns.org", 80 )

  IF INetErrorCode( pSocket ) <> 0
   INetCleanUp()
   Return( "0.0.0.0" )
  ENDIF

  nBytes   := INetSend( pSocket, "GET /nic/update?hostname=" + Alltrim( lower( cHostName ) ) + "&myip=" + cIp + "&wildcard=NOCHG&mx=NOCHG&backmx=NOCHG  HTTP/1.1" + CRLF + "Host: members.dyndns.org" + CRLF + "Authorization: Basic " + Encode + CRLF + "User-Agent: lotenet" + CRLF + CRLF )
  cBuffer  := Space(512)
  cResponse:= ""

  WHILE ( nBytes > 0 )
   nBytes    := INetRecv( pSocket, @cBuffer )
   cResponse += Left( cBuffer, nBytes )
   cBuffer   := Space(512)
  ENDDO

  INetClose( pSocket )
 INetCleanUp()

 Alert( cResponse )

Return Nil
 
Saludos,

Pablo Alberto Vidal
/*
------------------------------------------------------
Harbour 3.2.0, Fivewin 17.02, BCC7
------------------------------------------------------
*/
User avatar
Sistem
Posts: 224
Joined: Sun May 13, 2012 7:52 am

Re: Actualizar Ip de Dyndns desde FiveWin :)

Post by Sistem »

muy bueno

PublicIP() // PublicIP() es una funcion que esta en foro
en forum dónde?

[]´s
FWH2008 | xHarbour | BCC74 | SQLRDD
User avatar
pablovidal
Posts: 398
Joined: Thu Oct 06, 2005 10:15 pm
Location: Republica Dominicana
Contact:

Re: Actualizar Ip de Dyndns desde FiveWin :)

Post by pablovidal »

Saludos,

Pablo Alberto Vidal
/*
------------------------------------------------------
Harbour 3.2.0, Fivewin 17.02, BCC7
------------------------------------------------------
*/
User avatar
Antonio Linares
Site Admin
Posts: 37481
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain
Contact:

Re: Actualizar Ip de Dyndns desde FiveWin :)

Post by Antonio Linares »

Pablo,

gracias! :-)
regards, saludos

Antonio Linares
www.fivetechsoft.com
postinelli
Posts: 128
Joined: Tue Jul 15, 2008 7:12 pm
Location: Argentina

Re: Actualizar Ip de Dyndns desde FiveWin :)

Post by postinelli »

Gracias, funciona perfecto
modifique para xHarbour
lo has hecho para NO-IP ? Dyndns ya no tiene cuentas free..je
User avatar
pablovidal
Posts: 398
Joined: Thu Oct 06, 2005 10:15 pm
Location: Republica Dominicana
Contact:

Re: Actualizar Ip de Dyndns desde FiveWin :)

Post by pablovidal »

Este es el codigo para NoIp, No lo he provado pero deveria de funcionar sin problemas :)

Code: Select all

Function NoIp( cHostName )
Local cIp   := AllTrim( PublicIP() ) // PublicIP() es una funcion que esta en foro
Local Encode := hb_Base64Encode( "<usuario>:<clave>" ) // Usuario y Clave de acceso a DynDns
Local cBuffer, cRequest, cResponse, nBytes, pSocket

 INetInit()
  pSocket := INetConnect( "dynupdate.no-ip.com", 80 )

  IF INetErrorCode( pSocket ) <> 0
   INetCleanUp()
   Return( "0.0.0.0" )
  ENDIF

  nBytes   := INetSend( pSocket, "GET /nic/update?hostname=" + Alltrim( lower( cHostName ) ) + "&myip=" + cIp + "&wildcard=NOCHG&mx=NOCHG&backmx=NOCHG  HTTP/1.1" + CRLF + "Host: dynupdate.no-ip.com" + CRLF + "Authorization: Basic " + Encode + CRLF + "User-Agent: lotenet" + CRLF + CRLF )
  cBuffer  := Space(512)
  cResponse:= ""

  WHILE ( nBytes > 0 )
   nBytes    := INetRecv( pSocket, @cBuffer )
   cResponse += Left( cBuffer, nBytes )
   cBuffer   := Space(512)
  ENDDO

  INetClose( pSocket )
 INetCleanUp()

 Alert( cResponse )
 
Return Nil
Saludos,

Pablo Alberto Vidal
/*
------------------------------------------------------
Harbour 3.2.0, Fivewin 17.02, BCC7
------------------------------------------------------
*/
postinelli
Posts: 128
Joined: Tue Jul 15, 2008 7:12 pm
Location: Argentina

Re: Actualizar Ip de Dyndns desde FiveWin :)

Post by postinelli »

probado que con NoIP funciona perfecto

para usarlo con xHarbour modifique la siguiente linea
//Local Encode := hb_Base64Encode( "<usuario>:<clave>" ) // Usuario y Clave de acceso a DynDns / NoIP
por esta otra
Local Encode := StrToBase64( "<usuario>:<clave>" ) // Usuario y Clave de acceso a DynDns / NoIP

muchas gracias por tu aporte
Pablo
Post Reply