繁体   English   中英

如何使用JavaScript或JQuery检测URL是否指向网页或二进制文件?

[英]How do I detect with JavaScript or JQuery whether a URL points to a web page or a binary file?

我正在使用javascript和jquery抓取网页链接列表,这些链接可以是网页或大型二进制文件(PPT等)。

如何检测内容是否为网页(“ text / html”)? 我很确定它正在使用$ .ajax查看HTTP标头,并且我知道有一些类似的发布问题,但是我找不到适合该特定问题的示例。

您可以检查url的扩展名-最简单的方法。 或者您可以尝试Ajax解决方案

var url = 'someurl';
var xhttp = new XMLHttpRequest();
xhttp.open('HEAD', url);
xhttp.onreadystatechange = function () {
  if (this.readyState == this.DONE) {
    console.log(this.status);
    console.log(this.getResponseHeader("Content-Type"));
  }
};
xhttp.send();

您将无法可靠地从URL推断类型,因为它可能包含exehtml类的扩展名,但不一定如此,如果这样,也不能保证。

在没有完全下载和检查文件的情况下,您可以获得的最接近的文件可能是向URL 发送HEAD HTTP请求 应该返回没有主体的响应头,而主体包含Content-Type 但是,这全都取决于后端的实现和配置,因此无法保证将正确回答请求,甚至根本无法回答请求。

如果您有文件名,则可以使用filename.split('.').pop()这将返回文件的扩展名。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM