Foro de elhacker.net

Programación => Scripting => Mensaje iniciado por: Borito30 en 14 Marzo 2017, 19:27 pm



Título: Actualizar mi ip usando dyndns en python
Publicado por: Borito30 en 14 Marzo 2017, 19:27 pm
Hola estoy verificando un pequeño programa para obtener la ip actualizada de mi dns lo que hago es lo siguiente:
Código
  1. #!/usr/bin/python
  2. import requests
  3. import json
  4. user = "email"
  5. password = "pass"
  6. checkip = "http://thisisnt.com/api/getRemoteIp.php"
  7. dynupdate = "https://members.dyndns.com/nic/update"
  8. print "starting. Get current IP..."
  9. ipraw = requests.get(checkip)
  10. if ipraw.status_code is not 200:
  11.  raise "Cannot get IP address"
  12.  exit
  13.  
  14. ip = ipraw.json()['REMOTE_ADDR']
  15. print "Remote IP: " + ip
  16. print "updating..."
  17. # update dyndns
  18. headers = {'user-agent': 'mPythonClient/0.0.3'}
  19. dyn = requests.get(dynupdate, \
  20.              headers=headers, \
  21.              auth=(user, password), \
  22.              params={'hostname': 'mydyndns', \
  23.                       'myip': ip, \
  24.                       'wildcard': 'NOCHG', \
  25.                       'mx': 'MX', \
  26.                       })
  27. if dyn.status_code is not 200:
  28.  print "Update failed. HTTP Code: " + str(dyn.status_code)
  29. if "good" in dyn.text:
  30.  print "update successful.."
  31. else:
  32.  print "Update unsuccessful: " + dyn.text.strip()

El resultado que obtengo siempre es
Código:
Update unsuccessful: 

Es decir dyn.text la peticion no la hace bien por lo que tenga hacer la peticion de otra manera. Alguien sabría como podría obtener mi ip con my dyndns usando python?