chishingchan 发表于 2011-9-13 15:08:57

[已解决] 请问如何获取网络文件的版本号?

本帖最后由 chishingchan 于 2011-9-15 01:21 编辑

例如:"http://download.ppstream.com/ppstreamsetup.exe"
我想知道这个文件的版本号从而理解是否需要更新。$ver = FileGetVersion("http://download.ppstream.com/ppstreamsetup.exe")
MsgBox(0, "PPS影音", $ver)

xuzhenjun130 发表于 2011-9-13 15:39:32

直接用获取 http://www.ppstream.com/download.html 网页代码,读取class="version" 的内容
<span class="version"><em>V2.7.0.1308 正式版</em>2011年09月09日</span>
就可以得到版本号了

chishingchan 发表于 2011-9-14 23:58:12

谢谢 xuzhenjun130 的指点,谢谢!

本帖最后由 chishingchan 于 2011-9-15 01:17 编辑

回复 2# xuzhenjun130
$url = "http://www.ppstream.com/download.html"
$search_1 = "<span class=""version""><em>"
$search_2 = "</em>"
$search_3 = "</span>"

$binary = InetRead($url)
$string = BinaryToString($binary)

$result_1 = StringInStr($string,$search_1,0,1)
$result_2 = StringInStr($string,$search_2,0,1)
$result_3 = StringInStr($string,$search_3,0,1)

$VersionStart = $result_1 + StringLen($search_1)
$VersionNum = $result_2 - $VersionStart
$version = StringMid($string,$VersionStart,$VersionNum)

$DateStart = $result_2 + StringLen($search_2)
$DateNum = $result_3 - $DateStart
$date = StringMid($string,$DateStart,$DateNum)

MsgBox("","网络文件版本检测","版本:" & $version & @CRLF & "日期:" & $date)

hzxymkb 发表于 2011-9-15 00:00:22

这个要用到正则的,还是请正则方面的高手吧!
不懂正则的飘过!

chishingchan 发表于 2011-9-15 01:14:47

回复 4# hzxymkb

希望高手改善代码,谢谢!

xuzhenjun130 发表于 2011-9-15 09:12:50

回复 3# chishingchan
能想出用这么复杂的办法,佩服#include <INet.au3>
#include <array.au3>
$html=_INetGetSource("http://www.ppstream.com/download.html")
$get=StringRegExp($html,"V\d.*\d ",3)
_ArrayDisplay($get)

chishingchan 发表于 2011-9-15 14:00:10

回复 6# xuzhenjun130

高手啊!这么精简的代码!谢谢!我要加油啊!

xugaohui 发表于 2012-8-20 13:55:23

感谢分享,学习了
页: [1]
查看完整版本: [已解决] 请问如何获取网络文件的版本号?