是否可以查看 MP3 文件的下载位置?例如文件是从 Google、Safari 还是其他网站下载的?
答案1
在 macOS 上,下载文件本身的源 URL、引用网页的 URL 以及更多信息通常存储在文件的扩展属性中。
发现者:您可以右键单击文件(或使用文件菜单)>获取信息。
然后检查“更多信息”部分。
终端:您可以使用xattr
。数据存储为二进制编码的 plist。
xattr -px com.apple.metadata:kMDItemWhereFroms [path/to/file] | xxd -r -p | plutil -p -
您也可以检查com.apple.metadata:kMDItemDownloadedDate
该信息。
来源及更多信息:Armin Briegel,脚本 OS X:解析 Finder 元数据中的二进制属性列表
答案2
对于 Windows 等效于chrisk 的 macOS 答案,下载文件的来源可能会存储在称为的备用数据流中Zone.Identifier
。
如果该流存在,可以使用以下 PowerShell 命令查看:
Get-Content -Stream Zone.Identifier "path/to/file"
它看起来会像这样:
[ZoneTransfer]
ZoneId=3
ReferrerUrl=https://www.wireguard.com/
HostUrl=https://download.wireguard.com/windows-client/wireguard-installer.exe
请注意,此 ADS 的存在取决于几个因素:
- 浏览器实际上添加了 ADS 条目;大多数现代浏览器都会默认这样做
- 文件存储在 NTFS 文件系统上;ADS 是 NTFS 的一项功能,如果文件被移动到 FAT 或其他文件系统,ADS 将不会被保留
- 流在某个时候不会被删除;当您打开下载的文件时,此流会提示安全警告,如果您取消选中“打开此文件前始终询问”选项,它将被删除。如果您使用文件属性中的“解除阻止”选项,它也将被删除。
答案3
这取决于具体情况,但可能不是。如果网站将其信息写入文件元数据,那么您将能够读取该信息。
但是 MP3 文件本身并没有什么特别之处,这意味着您每次都能看到它。
在文件之外,在系统的其他地方,您还可以查看浏览器下载历史记录,但如果您使用的是其他计算机,或者您已清除历史记录,或者时间已经过去很长时间,则可能也不起作用。
答案4
在 Linux 上,它将存储为扩展属性 user.xdg.origin.url
$ wget --xattr https://download.wireguard.com/windows-client/wireguard-installer.exe
...
$ xattr wireguard-installer.exe
user.xdg.origin.url
$ xattr -p user.xdg.origin.url wireguard-installer.exe
https://download.wireguard.com/windows-client/wireguard-installer.exe
然而因为某些原因Linux 浏览器不或者不再存储该属性,并且 wget 默认也不会这样做自 1.20.1 版本起--xattr
除非选项明确说明