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);
}
}
});
這就是'<!DO',它似乎可能是一個doctype標籤。 – polarysekt
hmm好像cloudflare正在返回html頁面而不是圖像,當我從node.js腳本向該服務器發出請求時。可能是我需要添加適當的標題來正確地在腳本中獲取圖像。謝謝 – Yalamber