Python mechanize检测下载的文件扩展名

Python mechanize检测下载的文件扩展名,python,file,download,mechanize,Python,File,Download,Mechanize,我正在尝试使用Python Mechanize检索网站并将其保存在本地磁盘上。问题是许多网站重定向到html/asp/php以外的链接。有没有准确的方法来检测URL具有什么扩展名以及它将检索什么类型的文件 例如: 应另存为html文件 应在重定向时另存为.exe文件,然后下载一个exe文件。但是,内容类型声明为text/html,因此我认为这不是最可靠的方法 如何像浏览器保存文件时那样准确地检测文件扩展名 谢谢你 应在重定向时另存为.exe文件,然后下载exe 文件但是,内容类型声明为tex

我正在尝试使用Python Mechanize检索网站并将其保存在本地磁盘上。问题是许多网站重定向到html/asp/php以外的链接。有没有准确的方法来检测URL具有什么扩展名以及它将检索什么类型的文件

例如: 应另存为html文件

应在重定向时另存为.exe文件,然后下载一个exe文件。但是,内容类型声明为text/html,因此我认为这不是最可靠的方法

如何像浏览器保存文件时那样准确地检测文件扩展名

谢谢你

应在重定向时另存为.exe文件,然后下载exe 文件但是,内容类型声明为text/html,因此 我想这是最可靠的方法

那不太正确。它不使用HTTP重定向。问题是微软使用javascript让浏览器下载文件。实际文件是:

由于mechanize无法为您运行javascript,因此您必须解析链接的html和javascript文件。如果你只删除一个以相同方式下载文件的站点,这可能是合理的。如果你正在寻找一种通用的方法,你必须找到另一种完全不同的方法

浏览器了解下载文件的唯一方法是:

  • 检查内容类型
  • 检查路径扩展 (我不确定浏览器是否能做到这一点。)