FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin para Harbour/xHarbour Actualizar Ip de Dyndns desde FiveWin :)
Posts: 401
Joined: Thu Oct 06, 2005 10:15 PM
Actualizar Ip de Dyndns desde FiveWin :)
Posted: Tue Sep 10, 2013 06:12 PM
Code (fw): Select all Collapse
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

------------------------------------------------------

*/
Posts: 226
Joined: Sun May 13, 2012 07:52 AM
Re: Actualizar Ip de Dyndns desde FiveWin :)
Posted: Tue Sep 10, 2013 07:18 PM

muy bueno

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

[]´s

FWH2008 | xHarbour | BCC74 | SQLRDD
Posts: 401
Joined: Thu Oct 06, 2005 10:15 PM
Re: Actualizar Ip de Dyndns desde FiveWin :)
Posted: Tue Sep 10, 2013 08:58 PM
Saludos,



Pablo Alberto Vidal

/*

------------------------------------------------------

Harbour 3.2.0, Fivewin 17.02, BCC7

------------------------------------------------------

*/
Posts: 44158
Joined: Thu Oct 06, 2005 05:47 PM
Re: Actualizar Ip de Dyndns desde FiveWin :)
Posted: Wed Sep 11, 2013 12:13 PM

Pablo,

gracias! :-)

regards, saludos

Antonio Linares
www.fivetechsoft.com
Posts: 150
Joined: Tue Jul 15, 2008 07:12 PM
Re: Actualizar Ip de Dyndns desde FiveWin :)
Posted: Wed Sep 11, 2013 09:21 PM

Gracias, funciona perfecto
modifique para xHarbour
lo has hecho para NO-IP ? Dyndns ya no tiene cuentas free..je

Posts: 401
Joined: Thu Oct 06, 2005 10:15 PM
Re: Actualizar Ip de Dyndns desde FiveWin :)
Posted: Wed Sep 11, 2013 09:41 PM
Este es el codigo para NoIp, No lo he provado pero deveria de funcionar sin problemas :-)
Code (fw): Select all Collapse
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

------------------------------------------------------

*/
Posts: 150
Joined: Tue Jul 15, 2008 07:12 PM
Re: Actualizar Ip de Dyndns desde FiveWin :)
Posted: Wed Sep 11, 2013 10:00 PM

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

Continue the discussion