vb与服务器通信,获取网页内容并解决乱码问题
作者:未知 文章ID:519 浏览:
Function getHTTPPage(MyUrl)
On Error Resume Next
Dim MyHttp as String
Set MyHttp = CreateObject("MSXML2.XMLHTTP")
MyHttp.Open "GET", MyUrl, False
getHTTPPage = MyHttp.Send()
If MyHttp.ReadyState <> 4 Then
MsgBox "无法连接服务器"
Exit Function
End If
getHTTPPage = BytesToBstr(http.responseBody, "GB2312")
Set MyHttp = Nothing
End Function
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
附:
readyState有五种可能的值:
0 (未初始化): (xml(标准化越来越近了)HttpRequest)对象已经创建,但还没有调用open()方法。
1 (载入):已经调用open() 方法,但尚未发送请求。
2 (载入完成): 请求已经发送完成。
3 (交互):可以接收到部分响应数据。
4 (完成):已经接收到了全部数据,并且连接已经关闭。