gpt4 book ai didi

node.js - 以编程方式清除cloudflare缓存

转载 作者:太空宇宙 更新时间:2023-11-03 22:43:59 25 4
gpt4 key购买 nike

在将请求发送到 node.js api 后,我尝试以编程方式清除单个 url 的 cloudflare 缓存。我正在使用https://github.com/cloudflare/node-cloudflare库,但是我不知道如何记录来自 cloudflare 的回调。根据同一存储库中的测试文件,语法应该是这样的:

//client declaration:

t.context.cf = new CF({
key: 'deadbeef',
email: 'cloudflare@example.com',
h2: false
});

//invoke clearCache:

t.context.cf.deleteCache('1', {
files: [
'https://example.com/purge_url'
]
})

如何读出该请求的回调?我在自己的代码中尝试了以下操作:

client.deleteCache(process.env.CLOUDFLARE_ZONE, { "files": [url] }, function (data) {
console.log(`Cloudflare cache purged for: ${url}`);
console.log(`Callback:${data}`);
})

和:

client.deleteCache('1', {
files: [
'https://example.com/purge_url'
]
}).then(function(a,b){
console.log('helllllllooooooooo');
})

无济于事。 :(

最佳答案

通过 URL 清除 Cloudflare 缓存:

var Cloudflare = require('cloudflare');

const { CF_EMAIL, CF_KEY, CF_ZONE } = process.env;

if (!CF_ZONE || !CF_EMAIL || !CF_KEY) {
throw new Error('you must provide env. variables: [CF_ZONE, CF_EMAIL, CF_KEY]');
}
const client = new Cloudflare({email: CF_EMAIL, key: CF_KEY});
const targetUrl = `https://example.com/purge_url`;

client.zones.purgeCache(CF_ZONE, { "files": [targetUrl] }).then(function (data) {
console.log(`Cloudflare cache purged for: ${targetUrl}`);
console.log(`Callback:`, data);
}, function (error) {
console.error(error);
});

您可以通过以下方式查找 cloudflare 区域:

client.zones.browse().then(function (zones) {
console.log(zones);
})

不要忘记安装当前的客户端版本:

npm i cloudflare@^2.4.1 --save-dev

关于node.js - 以编程方式清除cloudflare缓存,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38122334/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com