我有一个在线文件: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
您能获得更多信息让我确定软件版本已更改吗?
答案 0 :(得分:4)
使用范围标题下载文件的前千字节左右。
使用pefile解析PE标头并提取版本信息。
使用数据extract useful information,例如时间日期戳和其他好东西,可以让您在不阅读整个内容的情况下查找文件中的更改。
答案 1 :(得分:2)
如果您下载它,可以获得有关EXE Windows文件的各种信息(通过简单的方式,在其上运行外部实用程序,或者通过API和您自己的代码来模拟这些实用程序) - 很大程度上取决于它在构建时输入的信息。没有下载,你只能得到服务器给你的信息,在这种情况下看起来很稀缺 - 我不相信服务器配置为不告诉你最新的修改日期& c。在你的鞋子里,我会看到在服务器端可以做些什么来弥补缺乏信息,所以你不必下载EXE就可以了解更多信息!
答案 2 :(得分:2)
将您的服务器配置为提供Last-Modified标头,并在请求中使用If-Modified-Since。