【发布时间】: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 设置 files 或 files[] 的键,但它不起作用。我也尝试过将 data 使用原始 JSON 作为 {"files":["url"]} 之类的值(以及 JSON 内容类型标头),但得到相同的错误。它认为我没有发送files 密钥。
【问题讨论】:
-
尝试将
'files' => 'https://example.com/styles.css,更改为:'files' => ['https://example.com/styles.css'],参考:github.com/jamesryanbell/cloudflare/blob/master/src/CloudFlare/… -
@mishka 是的,我试过了,但还是不行。
标签: php guzzle cloudflare