【发布时间】:2019-06-24 12:12:14
【问题描述】:
我在使用 cloudflare APIv4 时遇到问题。尝试更新 dns 记录但不确定为什么会收到以下错误:
{"success":false,"errors":[{"code":1004,"message":"DNS 验证错误","error_chain":[{"code":9020,"message":"无效DNS 记录类型"}]}],"messages":[],"result":null}
这里是 PHP 函数:
function updateCloudflareDNS($zone_id,$dns_id, $updatedata){
$updatedata = '[{"name":"**.****.com"},{"type":"A"},{"ttl":"1"},{"content":"8.8.8.8"},{"proxied":"true"}]';
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "https://api.cloudflare.com/client/v4/zones/".$zone_id."/dns_records/".$dns_id);
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
'Content-Type: application/json; charset=utf-8',
'X-Auth-Email: **********',
'X-Auth-Key: ***********'
));
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
curl_setopt($ch, CURLOPT_HEADER, FALSE);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "PUT");
curl_setopt($ch, CURLOPT_POSTFIELDS, $updatedata);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
$response = curl_exec($ch);
curl_close($ch);
return $response;
}
另外,我正确输入了Cloudflare API documentation 中提到的记录类型“A”
有人可以帮我解决这个问题吗?
谢谢
【问题讨论】:
-
community.cloudflare.com/t/api-error-9020/56258 - 仔细查看您的 JSON(对象列表,而不是一个对象)。
-
您已在问题中链接了 API 文档。你看过吗?
标签: php api curl dns cloudflare