У меня проблема при использовании cloudflare APIv4. Попытка обновить запись DNS и не уверен, почему я получаю следующую ошибку:
{«success»: false, «errors»: [{«code»: 1004, «message»: «Ошибка проверки DNS», «error_chain»: [{«code»: 9020, «message»: «Недопустимый тип записи DNS «}]}],» сообщения «: [],» результат «: нулевая}
Вот функция 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 документация
Может ли кто-нибудь помочь мне с этим вопросом?
Спасибо
Вы отправляете полезную нагрузку:
[{"name":"**.****.com"},{"type":"A"},{"ttl":"1"},{"content":"8.8.8.8"},{"proxied":"true"}]
Вот что API надеется:
{"type":"A", "name":"example.com", "content":"127.0.0.1", "ttl":120, "priority":10,"proxied":false}
И вот как вы правильно строите JSON в PHP:
$POST = json_encode(array(
"type" => "A",
"name" => "...",
...
));
Других решений пока нет …