求高手指点---VB中的(Msxml2.XMLHTTP) 刷新 问题
vb吧
全部回复
仅看楼主
level 1
aaa40799 楼主
Private Function getHTTPPage(URL, Cset)
         Dim http
         On Error Resume Next
         Set http = CreateObject("MSXML2.XMLHTTP")
         DoEvents
         http.Open "GET ", URL, False
          DoEvents
         http.send
          DoEvents
         If err.Number = -2146697211 Then
            MsgBox "网络不通,连通后再试一试!!"
            Exit Function
         End If
         If http.ReadyState <> 4 Then
                 Exit Function
         End If
         getHTTPPage = BytesToBstr(http.ResponseBody, Cset)
         Set http = Nothing
         If err.Number <> 0 Then err.Clear
End Function
Private Function BytesToBstr(body, Cset)
         Dim objstream
         Set objstream = CreateObject("adodb.stream")
         objstream.Type = 1
         objstream.Mode = 3
         objstream.Open
         objstream.Write body
         objstream.position = 0
         objstream.Type = 2
         objstream.Charset = Cset
         BytesToBstr = objstream.ReadText
         objstream.Close
         Set objstream = Nothing
End Function
strw = getHTTPPage( "https://tieba.baidu.com/f?kw=vb", "GB2312")   ------第2次getHTTPPage好像是直接读取的缓存。如何刷新
2011年04月22日 07点04分 1
level 1
aaa40799 楼主
用工具监视的结果为 只有第一次send会通过网络get url过后的send都不联网,应该是在读取缓存?
如果要他每次都联网去get url该如何解决啊?
2011年04月22日 08点04分 2
level 1
aaa40799 楼主
人气不旺----[百度解决了]
2011年04月22日 08点04分 3
level 1
aaa40799 楼主
还是说一下解决思路:有2种
1、是SEND 后面加一个随即变量 【不推荐,白白增加缓存】
2、清除缓存,调用API清除缓存【推荐】
2011年04月22日 08点04分 4
level 2
请问楼主,调用API清除缓存,你是怎么弄的啊?能不能贴个代码出来?我百度了很久也没找到啊……我遇到的问题和你一楼说的是一样一样的
2015年09月01日 08点09分 5
level 1
Private Declare Function DeleteUrlCacheEntry Lib "wininet.dll" Alias "DeleteUrlCacheEntryA" ( _
ByVal lpszUrlName As String) As Long
2016年05月30日 05点05分 6
level 1
在http.Open "GET ", URL, False下面加上
Http.setRequestHeader "If-Modified-Since", "0"
2021年12月13日 03点12分 7
感谢大佬!
2022年07月20日 08点07分
感谢大佬!牛逼[真棒]
2023年11月23日 09点11分
1