J'essaie de vérifier si un lien est une image valide avec un nombre magique. La plupart des images lient bien le travail. Mais voici un ensemble d'images sur le site de Trump qui ne produisent pas de nombres magiques corrects, bien qu'ils semblent fonctionner correctement sur le navigateur. Le nombre magique qu'ils produisent est 3c21444f.Numéro magique invalide d'un fichier png
Ci-dessous mon code, Toute aide serait appréciée:
var request = require('request');
var magic = {
jpg: 'ffd8ffe0',
jpg1: 'ffd8ffe1',
png: '89504e47',
gif: '47494638'
};
var options = {
method: 'GET',
url: 'https://assets.donaldjtrump.com/gallery/4749/screen_shot_2016-10-30_at_1.39.54_pm.png',
encoding: null // keeps the body as buffer
};
request(options, function (error, response, body) {
if(!error) {
var magicNumberInBody = body.toString('hex', 0, 4);
if (magicNumberInBody == magic.jpg ||
magicNumberInBody == magic.jpg1 ||
magicNumberInBody == magic.png ||
magicNumberInBody == magic.gif) {
console.log('Valid image');
} else {
console.log('Invalid Image', magicNumberInBody);
}
}
});
C'est ' polarysekt
hmm semble que cloudflare renvoie la page html au lieu de l'image lorsque je fais une demande à ce serveur à partir du script node.js. Peut-être que j'ai besoin d'ajouter des en-têtes appropriés pour obtenir l'image correctement dans le script. Merci – Yalamber