【问题标题】:Cloudflare API PHP errorCloudflare API PHP 错误
【发布时间】:2017-01-10 22:18:26
【问题描述】:

我正在尝试使用 PHP 通过他们的 API 将记录添加到 Cloudflare。出于某种原因,当我使用相同的代码时,结果有时会成功,但有时会出现错误:

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

它给出了400429的HTTP响应代码。在搜索了这些代码后,我了解到代码429 与请求过多有关。我该如何解决这个问题?

【问题讨论】:

  • 400 不是请求太多,它是客户端错误,意味着您的请求没有按照 API 规范发出。 429 是“请求过多”,表示您已达到请求配额,因此您需要等待。
  • @apokryfos 是的,我知道 400 是客户端错误,但问题是实际上根本没有错误。我有时发出的请求会成功并且不会返回 400 和 429,但有时会成功。
  • 不要将 400 和 429 组合在一起。 429 是一个错误,当您超出允许提出的请求时,您应该偶尔会遇到这种错误。仅检查您收到 400 错误的情况,并检查该错误是否可通过完全相同的请求重现。
  • @apokryfos 每次我得到 429 时,它总是返回 429 和 400。当调用成功时,它显然返回 200。我从来没有得到只有 400。
  • 一个响应怎么会有两个状态码?你的代码呢?

标签: php cloudflare


【解决方案1】:

很遗憾,您查询的是错误的端点,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: user@example.com" \
     -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}'

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-07-17
    • 2015-09-01
    • 2015-11-27
    • 1970-01-01
    相关资源
    最近更新 更多