2017-01-10 312 views
-1

我试图通过使用PHP的API将记录添加到CloudFlare的。出于某种原因,当我使用相同的代码,结果有时给我的成功,但在其他时候,它给出了一个错误的说法:CloudFlare的API PHP错误

Could not route to /zones/dns_records, perhaps your object identifier is invalid? 

,并给出了400429 HTTP响应代码。在搜索这些代码后,我了解到代码429是关于太多请求的内容。我怎么能解决这个问题?

+0

400没有太多的要求,这是客户端错误意味着你的请求,根据API规范是不可缺少的。 429是“太多请求”,这意味着你已经达到了你的请求配额,所以你需要等待。 – apokryfos

+0

@apokryfos是的,我知道400是客户端错误,但事实上根本没有任何错误。我有时做出**的请求获得成功,并且不会返回400和429,但有时会返回。 – taeuk

+0

不要将400和429分组在一起。 429是一个错误,当您超出允许的请求时,您应该期望偶尔得到一个错误。只检查出现400错误的情况,并检查错误是否可以用完全相同的请求重现。 – apokryfos

回答

0

不幸的是你查询了错误的端点时,dns_records终点是在/zones/:zone_identifier/dns_records

你需要替换:zone_identifier与给定区域的ID的格式,你可以使用/zones端点得到这个。

所以,如果你想使用cURL添加DNS记录:

curl -X POST "https://api.cloudflare.com/client/v4/zones/023e105f4ecef8ad9ca31a8372d0c353/dns_records" \ 
    -H "X-Auth-Email: [email protected]" \ 
    -H "X-Auth-Key: c2547eb745079dac9320b638f5e225cf483cc5cfdda41" \ 
    -H "Content-Type: application/json" \ 
    --data '{"type":"A","name":"example.com","content":"127.0.0.1","ttl":120,"proxied":false}'