@ Odpowiedź Quentina jest prawidłowa i odnosi się do każdego klienta javascript próbującego uzyskać dostęp do nagłówków serwera.
Jednakże, ponieważ to pytanie jest specyficzne dla Cloudlfare i specyficzne dla uzyskania 2 literowego kraju ISO w nagłówku HTTP_CF_IPCOUNTRY, uważam, że mam obejście, które najlepiej pasuje do zadawanego pytania.
Poniżej znajduje się fragment kodu, który używam na moim frontend Ember App, siedząc za Cloudflare ... i lakier ... i 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');
wydajność jest naprawdę bardzo wielka, don” Nie obawiaj się wywoływać tej funkcji, nawet zanim zadzwonisz do innych API lub funkcji. Stwierdziłem, że jest tak szybki, a czasem nawet szybszy od pobierania statycznych zasobów z pamięci podręcznej Cloudflare. Możesz uruchomić profil w Pingdom, aby to potwierdzić.
Który javascript masz na myśli - klient lub serwer (Node)? – hindmost
Strona js klienta. –