Image 如何检测.png链接后面的webp文件?

Image 如何检测.png链接后面的webp文件?,image,http,png,webp,Image,Http,Png,Webp,我有一些棘手的链接: 链接中的最后4个字符意味着我们将获得png格式的图像,甚至对该链接的HTTP请求也会带来内容类型“image/png”。 但若您试图将其保存在浏览器中,最终将使用webp文件格式 所以,问题是——如何通过只能使用http协议的程序检测到它真的隐藏在链接后面的webp图像,该链接看起来和png文件一样(记住标题!) 更新:我想指出,我从不同的环境中获取了http请求,并在标题内容类型中获取了“image/png”类型。例如,使用node.js和axios 更新:服务器将通

我有一些棘手的链接:

链接中的最后4个字符意味着我们将获得png格式的图像,甚至对该链接的HTTP请求也会带来内容类型“image/png”。 但若您试图将其保存在浏览器中,最终将使用webp文件格式

所以,问题是——如何通过只能使用http协议的程序检测到它真的隐藏在链接后面的webp图像,该链接看起来和png文件一样(记住标题!)

更新:我想指出,我从不同的环境中获取了http请求,并在标题内容类型中获取了“image/png”类型。例如,使用node.js和axios

更新:服务器将通过请求的
用户代理
头检测客户端类型,并相应地返回不同的
内容类型
。这是有道理的,因为并非所有的客户端都支持webp

因此,要获取
图像/webp
类型资源,您可以发送自定义
用户代理
头并模拟为Chrome等。例如,在Node.js和axios中:

const axios = require('axios');

axios.request({
  url: 'https://www.pwc.com.tr/tr/sektorler/Perakende-T%C3%BCketici/kuresel-tuketicileri-tanima-arastirmasi/kuresel-tuketici-gorusleri-arastirmasi-info-5en.png',
  method: 'get',
  headers: {
    'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.169 Safari/537.36'
  }
}).then(function(res) {
  console.log(res.headers); // content-type header is image/webp now.
}).catch(function(err) {
  console.log(err);
});

浏览器尝试将此图片保存为
.webp
格式,因为:在HTTP响应头中,
内容类型
头的值为
图像/webp

一个人如何能检测到它真的webp图像'隐藏'在链接后面,看起来和行为像png文件


您可以检查HTTP响应头并找到它是什么内容类型。

更新:服务器将通过请求的
用户代理
头检测客户端类型,并相应地返回不同的
内容类型
。这是有道理的,因为并非所有的客户端都支持webp

因此,要获取
图像/webp
类型资源,您可以发送自定义
用户代理
头并模拟为Chrome等。例如,在Node.js和axios中:

const axios = require('axios');

axios.request({
  url: 'https://www.pwc.com.tr/tr/sektorler/Perakende-T%C3%BCketici/kuresel-tuketicileri-tanima-arastirmasi/kuresel-tuketici-gorusleri-arastirmasi-info-5en.png',
  method: 'get',
  headers: {
    'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.169 Safari/537.36'
  }
}).then(function(res) {
  console.log(res.headers); // content-type header is image/webp now.
}).catch(function(err) {
  console.log(err);
});

浏览器尝试将此图片保存为
.webp
格式,因为:在HTTP响应头中,
内容类型
头的值为
图像/webp

一个人如何能检测到它真的webp图像'隐藏'在链接后面,看起来和行为像png文件


您可以检查HTTP响应头并找到它是什么内容类型。

关键是请求返回类型为“image/png”的头,并且只有浏览器管理获取“image/webp”。因此,我想知道一个人怎么能得到这样的类型没有browser@KarenFisher服务器将通过请求的用户代理头检测客户端类型,并相应地返回不同的内容类型。请在回答中查看我的更新。重点是请求返回类型为“image/png”的标题,并且只有浏览器能够获取“image/webp”。因此,我想知道一个人怎么能得到这样的类型没有browser@KarenFisher服务器将通过请求的用户代理头检测客户端类型,并相应地返回不同的内容类型。请检查我的最新答案