我使用python脚本,该脚本允许我在已配置/选定的Cloudflare DNS条目上自动更新Raspberry Pi的公共IP。这是通过Cloudflare API完成的。
该API中的代理参数现在默认为false,这将禁用Cloudflare保护。
我已经创建了Cloudflare支持票证,并得到以下答案:
在api调用中设置proxied = true将在更新记录时将Cloudflare保护设置为打开。
很遗憾,我还无法使用Python编程,因此无法修复此问题。
原始:
data=json.dumps({'type': record['type'], 'name': record['name'], 'content': ip_address}),
我的尝试:
data=json.dumps({'type': record['type'], 'name': record['name'], 'content': ip_address, 'proxied':'true'}),
尝试将代理设置为true时,我收到这些错误消息:
Updating the A record (ID 28b768cfd9760226648f3f22880bff7d) of (sub)domain www.******.com (ID 5129ccb06da9ae49f0a326ef945ff3e4) to **.**.***.**.
DNS record failed to update.
CloudFlare returned the following errors: [{u'error_chain': [{u'message': u"Invalid 'proxied' value, must be a boolean", u'code': 9003}], u'message': u'DNS Validation Error', u'code': 1004}].
CloudFlare returned the following messages: []
Updating the A record (ID f0269da1fab6dcad62c31755f98a6321) of (sub)domain ******.com (ID 5129ccb06da9ae49f0a326ef945ff3e4) to **.**.***.**.
DNS record failed to update.
CloudFlare returned the following errors: [{u'error_chain': [{u'message': u"Invalid 'proxied' value, must be a boolean", u'code': 9003}], u'message': u'DNS Validation Error', u'code': 1004}].
CloudFlare returned the following messages: []
完整的python脚本:
GitHub view
Raw
这样做的正确方法是什么?
预先感谢
答案 0 :(得分:0)
将'proxied':'true'
更改为'proxied': True
,使其成为布尔值而不是字符串。