Hola estoy verificando un pequeño programa para obtener la ip actualizada de mi dns lo que hago es lo siguiente:
#!/usr/bin/python
import requests
import json
user = "email"
password = "pass"
checkip = "http://thisisnt.com/api/getRemoteIp.php"
dynupdate = "https://members.dyndns.com/nic/update"
print "starting. Get current IP..."
ipraw = requests.get(checkip)
if ipraw.status_code is not 200:
raise "Cannot get IP address"
exit
ip = ipraw.json()['REMOTE_ADDR']
print "Remote IP: " + ip
print "updating..."
# update dyndns
headers = {'user-agent': 'mPythonClient/0.0.3'}
dyn = requests.get(dynupdate, \
headers=headers, \
auth=(user, password), \
params={'hostname': 'mydyndns', \
'myip': ip, \
'wildcard': 'NOCHG', \
'mx': 'MX', \
})
if dyn.status_code is not 200:
print "Update failed. HTTP Code: " + str(dyn.status_code)
if "good" in dyn.text:
print "update successful.."
else:
print "Update unsuccessful: " + dyn.text.strip()
El resultado que obtengo siempre es
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?