【问题标题】:How to send data to CloudFlare API?如何将数据发送到 CloudFlare API?
【发布时间】:2017-10-12 00:38:37
【问题描述】:

我正在尝试使用 PHP 从我的 CloudFlare 缓存中删除文件。使用 Guzzle 我已经做到了:

$client = new \GuzzleHttp\Client;
$response = $client->delete('https://api.cloudflare.com/client/v4/zones/myzoneid/purge_cache', [
    'query' => [
        'files' => 'https://example.com/styles.css,
    ],
    'headers' => [
        'X-Auth-Email' => 'myemail',
        'X-Auth-Key' => 'myapikey',
    ],
]);

但是当我运行它时,我得到一个错误:

客户端错误:DELETE https://api.cloudflare.com/client/v4/zones/myzoneid/purge_cache?files=https%3A%2F%2Fexample.com/etc 导致 400 Bad Request 响应:{"success":false,"errors":[{"code":1012,"message":"请求必须包含 \"purge_everything\ 之一", \"files\", \"tags\" (截断...)

我也无法使用 Postman 让它工作。我输入了所需的标题并尝试使用 URL 设置 filesfiles[] 的键,但它不起作用。我也尝试过将 data 使用原始 JSON 作为 {"files":["url"]} 之类的值(以及 JSON 内容类型标头),但得到相同的错误。它认为我没有发送files 密钥。

【问题讨论】:

标签: php guzzle cloudflare


【解决方案1】:

所以正确的语法应该是....

$client = new \GuzzleHttp\Client;
$response = $client->post('https://api.cloudflare.com/client/v4/zones/myzoneid/purge_cache', [
    'json' => [
        'files' => ['https://example.com/styles.css'],
    ],
    'headers' => [
        'X-Auth-Email' => 'myemail',
        'X-Auth-Key' => 'myapikey',
    ],
]);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-08-26
    • 1970-01-01
    • 1970-01-01
    • 2017-09-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-10-09
    相关资源
    最近更新 更多