2

我正在尝试使用 python 脚本用我的 IP 更新我的 rackspace dns。

当我在其中手动输入 IP 时,我的脚本可以工作,但当我从外部获取它时却没有,为什么?

工作:

#!/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)

不是:

#!/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)

注意:print '{}'.format(r.text)成功输出我的ip。

帮助你帮助我:我刚刚注意到print '{}'.format(r.text)增加了一个额外的行,我该如何避免呢?

对于那些感兴趣的人:https ://github.com/rackspace/python-clouddns

4

1 回答 1

2

尝试ip = r.text.strip()删除额外的换行符。

于 2013-02-17T00:47:30.163 回答