2009-08-11 74 views
-2

我有一个在线文件:http://dl_dir.qq.com/qqfile/tm/TM2009Beta_chs.exe,请不要下载它,我想确定软件版本是否更改,所以我想了解更多的信息。例如,使用python,我能得到这个:你能获得更多关于在线文件的信息吗?

import urllib2,urllib 
req = urllib2.Request('http://dl_dir.qq.com/qqfile/tm/TM2009Beta_chs.exe')   
response = urllib2.urlopen(req) 
print response.info() 
print response.geturl() 

Content-Length: 16868680 
Server: qqdlsrv(1.84 for linux) 
Connection: close 
Content-Disposition: attachment; filename=TM2009Beta_chs.exe 
Accept-Ranges: bytes 
Content-Type: application/octet-stream 

http://dl_dir.qq.com/qqfile/tm/TM2009Beta_chs.exe 

你可以得到更多的imformation让我确定软件版本改变了吗?

+3

这几乎是**最有效的方式来浪费你的带宽。为了获得最大效率,我建议在4chan上发帖“嘿,你们带宽很贵,不要下载这个文件。” – 2009-08-11 03:03:03

+1

除了URL,确切的重复http://stackoverflow.com/questions/1253282/how-can-i-get-the-file-version-on-the-internet-but-not-download-it – mhawke 2009-08-11 03:48:12

回答

2

如果你下载了它,你可以得到关于EXE Windows文件的所有信息(简单的方法,通过运行外部工具,或者通过API和你自己的代码来模拟这些工具) - 很大程度上取决于构建时将哪些信息放入其中。没有下载,你只能得到服务器给你的信息,在这种情况下,它似乎相当稀少 - 我无法相信服务器的配置不告诉你最新的修改日期& c。在你的鞋子里,我会看到在服务器端可以做些什么来弥补信息的缺乏,所以你不必下载EXE来了解更多信息!

4
  1. 使用范围标题下载文件的第一千字节左右。

  2. 使用pefile解析PE标头并提取版本信息。

  3. 随着数据extract useful information如时间日期戳和其他好东西,让你找到文件的变化而不读取整个事情。

相关问题