今天,百翔网络在处理程序的时候发现,通过下面的代码获取远程网页内容的时候,文章内容总是不更新,所以百翔就在网上找了很多的资料,但是这个问题一直都没有得到解决,一气之前,百翔把网页生成静态页面了,这样以后直接调用静态页面,省得麻烦,但是回头又发现静态页面是静态的,要想实时更新更难,于是又寻找新的解决方法,不过还好,功夫不负有心人,解决方法终于被我找到了,现在就和大家分享一下
set http=Server.createobject("MSXML2.XMLHTTP")
Http.open "GET",url,false
Http.send()
以前用的是这样的代码,结果老是存在缓存问题。
解决方法:Function getHtml(Url)
Dim XmlHttp,rUrl
Randomize()
rUrl = Url & "&rNum=" & Int((9999) * Rnd(Now())+1)
'如果你的Url没参数写成 rUrl = Url & "?rNum=" & Int((9999) * Rnd(Now())+1)
Set XmlHttp = CreateObject("Microsoft.XMLHTTP")
XmlHttp.Open "GET",rUrl, False
XmlHttp.setRequestHeader "Content-Type","text/HTML"
XmlHttp.Send
getHtml = XmlHttp.ResponseBody
End Function
这种方法其实很简单,就是给你要获取内容的网页地址加一个动态的参数,这样每次获取的页面就不一样了,缓存问题就解决了
当然还有朋友分享了一下的方法,但是本人没有测试有没有效果:
不过单击爱可以参考一下
Response.Buffer =True
Response.ExpiresAbsolute =Now() - 1
Response.Expires=0
Response.CacheControl="no-cache"
或者
<META HTTP-EQUIV="Pragma" CONTENT="no-cache">
<META HTTP-EQUIV="Cache-Control" CONTENT="no-cache">
<META HTTP-EQUIV="Expires" CONTENT="0"> 我试了下都不行