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
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?