2014-09-22 240 views
0

我試圖在我的網站的文件夾結構中使用Microsoft.XmlHttp獲取文件內的文本,然後在本地PC上將其與我的version.txt進行比較。如果相同,它會提示消息說它包含相同的版本,否則它會顯示相反的消息。從服務器獲取響應文本

URL="http://www.example.org/sites/default/files/version.txt" 
Set WshShell = WScript.CreateObject("WScript.Shell") 
Set http = CreateObject("Microsoft.XmlHttp") 
On Error Resume Next 
http.open "GET", URL, False 
http.send "" 
if http.status = 200 Then 
    server_version = http.responseText 
End if 
Set objFSO = CreateObject("Scripting.FileSystemObject") 
Set objClientVersion = objFSO.OpenTextFile("C:\mcgfiles\avp\hash.txt",1) 
client_version = objClientVersion.ReadLine 

comparison = StrComp(server_version, client_version) 
If comparison = 0 Then 
    Wscript.Echo "the same" 
Else 
    Wscript.Echo "not the same" 
End If 

有點兒工作,但每次我試圖改變http://www.example.org/sites/default/files/version.txt從我的服務器中的內容,該腳本仍然得到舊值:例如,http://www.example.org/sites/default/files/version.txt之前爲123456,當我運行的值腳本它得到123456當我的值更改爲654321,並運行此腳本,它仍然得到舊值是123456幫助謝謝

回答

0

禁用響應緩存:

http.open "GET", URL, False 
http.setRequestHeader "Cache-Control", "no-cache,max-age=0" 
http.setRequestHeader "Pragma", "no-cache" 
http.send 

此外,您可能希望取代ReadLineReadAll,因爲前者只會讀取本地文件的第一行,而HTTP請求會返回整個遠程文件。

相關問題