gpt4 book ai didi

javascript - 使用 javascript 获取 Cloudflare 的 HTTP_CF_IPCOUNTRY header ?

转载 作者:数据小太阳 更新时间:2023-10-29 05:12:06 27 4
gpt4 key购买 nike

有很多关于如何使用 javascript 获取 http header 的问题,但由于某些原因,它们没有显示 HTTP_CF_IPCOUNTRY header 。

如果我尝试使用 php echo $_SERVER["HTTP_CF_IPCOUNTRY"];,它会工作,所以 CF 工作得很好。

是否可以使用 javascript 获取此 header ?

最佳答案

@Quentin 的回答是正确的,适用于任何试图访问服务器 header 的 javascript 客户端。

但是,由于这个问题特定于 Cloudlfare,并且特定于在 HTTP_CF_IPCOUNTRY header 中正常获取 2 个字母的国家/地区 ISO,我相信我有一个最适合所问问题的解决方法。

下面是我在前端 Ember 上使用的代码摘录 App ,坐在 Cloudflare 后面......和清漆......和 ​​fastboot......

function parseTrace(url){
let trace = [];
$.ajax(url,
{
success: function(response){
let lines = response.split('\n');
let keyValue;

lines.forEach(function(line){
keyValue = line.split('=');
trace[keyValue[0]] = decodeURIComponent(keyValue[1] || '');

if(keyValue[0] === 'loc' && trace['loc'] !== 'XX'){
alert(trace['loc']);
}

if(keyValue[0] === 'ip'){
alert(trace['ip']);
}

});

return trace;
},
error: function(){
return trace;
}
}
);
};

let cfTrace = parseTrace('/cdn-cgi/trace');

性能真的很棒,即使在调用其他 API 或函数之前,也不要害怕调用此函数。我发现它与从 Cloudflare 的缓存中检索静态资源一样快,有时甚至更快。您可以在 Pingdom 上运行配置文件来确认这一点。

关于javascript - 使用 javascript 获取 Cloudflare 的 HTTP_CF_IPCOUNTRY header ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32455180/

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