aviau
aviau

Reputation: 127

Getting my IP using python

I am trying to update my rackspace dns with my IP using a python script.

My script works when I manually enter an IP in it, but dosen't when I get it from the outside, why?

This WORKS:

#!/usr/bin/env python
import clouddns
import requests
r= requests.get(r'http://curlmyip.com/')
ip= '4.4.4.4'
dns = clouddns.connection.Connection('******','********************')

domain = dns.get_domain(name='reazem.net')
record = domain.get_record(name='ssh.reazem.net')
record.update(data=ip, ttl=600)

This DOESN'T:

#!/usr/bin/env python
import clouddns
import requests
r= requests.get(r'http://curlmyip.com/')
**ip= '{}'.format(r.text)**
dns = clouddns.connection.Connection('******','********************')

domain = dns.get_domain(name='reazem.net')
record = domain.get_record(name='ssh.reazem.net')
record.update(data=ip, ttl=600)

Note: print '{}'.format(r.text) succesfully outputs my ip.

Helping you helping me: I just noticed that print '{}'.format(r.text) adds an extra line, how do I avoid that?

For those interested: https://github.com/rackspace/python-clouddns

Upvotes: 2

Views: 519

Answers (1)

Danica
Danica

Reputation: 28856

Try ip = r.text.strip() to remove the extra newline.

Upvotes: 2

Related Questions