Cloudflare API默认将代理参数设置为false

时间:2019-06-06 12:17:59

标签: python linux api dns cloudflare

我使用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

这样做的正确方法是什么?

预先感谢

1 个答案:

答案 0 :(得分:0)

'proxied':'true'更改为'proxied': True,使其成为布尔值而不是字符串。