別再用MSINET.OCX了,用這個模組簡單多了
' HTTP Downloading Module By InndyOption Explicit
' For API
Private Const CP_ACP = 0 ' default to ANSI code page
Private Const CP_UTF8 = 65001 ' default to UTF-8 code page
Private Declare Function MultiByteToWideChar Lib "kernel32" (ByVal CodePage As Long, ByVal dwFlags As Long, ByVal lpMultiByteStr As Long, ByVal cchMultiByte As Long, ByVal lpWideCharStr As Long, ByVal cchWideChar As Long) As Long
Private Declare Function WideCharToMultiByte Lib "kernel32" (ByVal CodePage As Long, ByVal dwFlags As Long, ByVal lpWideCharStr As Long, ByVal cchWideChar As Long, ByVal lpMultiByteStr As Long, ByVal cchMultiByte As Long, ByVal lpDefaultChar As Long, ByVal lpUsedDefaultChar As Long) As Long
' For module
Public Enum Encode
ANSI = 0
BIG5 = 1
UTF8 = 2
End Enum
Private Function ToUTF8(ByVal sData As String) As Byte()
Dim aRetn() As Byte, nSize As Long
nSize = WideCharToMultiByte(CP_UTF8, 0, StrPtr(sData), -1, 0, 0, 0, 0)
ReDim aRetn(0 To nSize - 1) As Byte
WideCharToMultiByte CP_UTF8, 0, StrPtr(sData), -1, VarPtr(aRetn(0)), nSize, 0, 0
ToUTF8 = aRetn
End Function
Private Function FromUTF8(ByVal sData As String) As Byte()
Dim aRetn() As Byte, nSize As Long
nSize = MultiByteToWideChar(CP_UTF8, 0, StrPtr(sData), -1, 0, 0)
ReDim aRetn(0 To 2 * nSize - 1) As Byte
MultiByteToWideChar CP_UTF8, 0, StrPtr(sData), -1, VarPtr(aRetn(0)), nSize
FromUTF8 = aRetn
End Function
Public Function DownloadData(ByVal url As String) As Byte()
Dim http As Object
Set http = CreateObject("MSXML2.ServerXMLHTTP")
http.Open "GET", url, False
http.setRequestHeader "Pragma", "no-cache"
http.send
DownloadData = http.responseBody
Set http = Nothing
End Function
Public Function DownloadString(ByVal url As String, Optional ByVal EncType As Encode = Encode.BIG5) As String
If EncType = Encode.ANSI Then
DownloadString = DownloadData(url)
ElseIf EncType = Encode.BIG5 Then
DownloadString = StrConv(DownloadData(url), vbUnicode)
Else
DownloadString = FromUTF8(DownloadData(url))
End If
End Function 這是拿來做什麼的? 謝謝Inndy大大^^ MSINET.OCX感覺很眼熟
可是還是看不懂 我只知道 有些人的電腦開掛 它會告訴你缺少ocx
我只會把補丁給它們去執行
不知道這個東西該丟進去哪裡?
或許又是不懂程式語言無法理解的東西@@
還是感謝i大的分享歐~~ MSINET.OCX 是什麼?
這模組又該怎麼用? 剛接觸 上面寫的有點難懂 不過感恩
頁:
[1]