0
링크가 마법 번호가있는 유효한 이미지인지 확인하려고합니다. 대부분의 이미지 링크가 잘 작동합니다. 그러나 트럼프의 사이트에서 올바른 마법 번호를 생성하지 않는 이미지 집합은 브라우저에서 제대로 작동하지만 이미지는 여기에 있습니다. 그들이 생산하는 매직 넘버는 3c21444f입니다. 그래서 분명히png 파일의 매직 번호가 잘못되었습니다.
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);
}
}
});
아마도 doctype 태그 인 것처럼 보이는 ' polarysekt
html은 node.js 스크립트에서 해당 서버에 요청할 때 cloudflare가 이미지 대신 html 페이지를 반환하는 것처럼 보입니다. 스크립트에서 제대로 이미지를 얻으려면 적절한 헤더를 추가해야 할 수도 있습니다. 감사 – Yalamber