2017-01-10 4 views
-1

Cloudflare에 PHP를 사용하여 API를 통해 레코드를 추가하려고합니다. 나는 동일한 코드를 사용할 때 몇 가지 이유를 들어, 결과는 때때로 나에게 성공을 제공하지만, 다른 시간에, 그것은 오류 속담 제공 :Cloudflare API PHP 오류

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

을하고 400429의 HTTP 응답 코드를 제공합니다. 이 코드를 검색 한 후에 코드 429이 너무 많은 요청에 관한 것임을 알게되었습니다. 이 문제를 어떻게 해결할 수 있습니까?

+0

(400)가 너무 많은 요청하지 않습니다 그것은 API 사양에 따라 만들어진되지 않은 요청을 의미 클라이언트 오류입니다 :

그래서 당신은 컬을 사용하여 DNS 레코드를 추가하려는 경우. 429는 "너무 많은 요청"이므로 요청 할당량에 도달 했으므로 기다려야합니다. – apokryfos

+0

@apokryfos 예, 저는 400이 클라이언트 오류라는 것을 압니다. 그러나 실제로는 전혀 오류가 없다는 것을 압니다. ** ** 때때로 ** 요청은 성공을 거두며 400 및 429를 반환하지 않지만 다른 경우는 반환합니다. – taeuk

+0

400과 429를 함께 그룹화하지 마십시오. 429는 허용 된 요청을 초과 할 때가끔 기대해야하는 오류입니다. 400 오류가 발생한 경우에만 검사하고 오류가 정확히 동일한 요청으로 재현되는지 확인하십시오. – apokryfos

답변

0

불행히도 잘못된 엔드 포인트를 쿼리하는의 dns_records 엔드 포인트 당신은 주어진 영역의 ID와 :zone_identifier을 대체해야합니다 /zones/:zone_identifier/dns_records

의 형식으로, 당신은 /zones 엔드 포인트를 사용하여이를 얻을 수 있습니다. ,

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}'