Page 1 of 1

Actualizar Ip de Dyndns desde FiveWin :)

Posted: Tue Sep 10, 2013 6:12 pm
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
 

Re: Actualizar Ip de Dyndns desde FiveWin :)

Posted: Tue Sep 10, 2013 7:18 pm
by Sistem
muy bueno

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

[]´s

Re: Actualizar Ip de Dyndns desde FiveWin :)

Posted: Tue Sep 10, 2013 8:58 pm
by pablovidal

Re: Actualizar Ip de Dyndns desde FiveWin :)

Posted: Wed Sep 11, 2013 12:13 pm
by Antonio Linares
Pablo,

gracias! :-)

Re: Actualizar Ip de Dyndns desde FiveWin :)

Posted: Wed Sep 11, 2013 9:21 pm
by postinelli
Gracias, funciona perfecto
modifique para xHarbour
lo has hecho para NO-IP ? Dyndns ya no tiene cuentas free..je

Re: Actualizar Ip de Dyndns desde FiveWin :)

Posted: Wed Sep 11, 2013 9:41 pm
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

Re: Actualizar Ip de Dyndns desde FiveWin :)

Posted: Wed Sep 11, 2013 10:00 pm
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