2017-01-10 310 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}'