Artikel ini menjelaskan metode modul visual basic6.0, yang menggunakan XMLHTTP untuk mengimplementasikan fungsi Post dan Get. Meskipun merupakan kode lama, ini dapat menggantikan kontrol Inet untuk mencapai komunikasi data. Ini layak untuk dipelajari.
Kode modul utama adalah sebagai berikut:
' ===== = ========='|. Nama modul |. XMLHTTP'|. Ganti kontrol Inet untuk mencapai komunikasi data'====== === =====Public Enum DataEnum ResponseText = 1 ResponseBody = 2End Enum Fungsi Publik GetData(ByVal Url Sebagai String, ByVal DataStic As DataEnum) Sebagai Varian Pada Kesalahan GoTo ERR: Redupkan XMLHTTP Sebagai Objek Redupkan DataS Sebagai String Redupkan DataB() Sebagai Byte Set XMLHTTP = CreateObject("Microsoft.XMLHTTP") XMLHTTP.Buka "dapatkan", Url, True XMLHTTP .send While XMLHTTP.ReadyState <> 4 DoEvents Wend '-------------------------------------- ------- Fungsi returnSelect Case DataStic Case ResponseText '-------------------------------- Langsung mengembalikan string DataS = XMLHTTP.ResponseText GetData = DataS Case ResponseBody '-- ------------------------------- Langsung mengembalikan biner DataB = XMLHTTP.ResponseBody GetData = DataB Case ResponseBody + ResponseText '--- - -------------------------- Konversi biner ke string [coba ketika string yang dikembalikan secara langsung kacau] DataS = BytesToStr(XMLHTTP.ResponseBody) GetData = DataS Case Else '-------------------------------- Pengembalian GetData tidak valid = "" Akhiri Pilih '----------------------------------------Ruang rilis Atur XMLHTTP = Tidak Ada yang Keluar dari FunctionERR: GetData = ""Akhiri Fungsi Public Function PostData(ByVal StrUrl As String, ByVal StrData As String, ByVal DataStic As DataEnum) Sebagai Varian Pada Error GoTo ERR: Redupkan XMLHTTP Sebagai Object Redupkan DataS As String Dim DataB() As Kumpulan Byte XMLHTTP = CreateObject("Microsoft.XMLHTTP") XMLHTTP.Buka "POST", StrUrl, True XMLHTTP.setRequestHeader "Panjang Konten", Len(PostData) XMLHTTP.setRequestHeader "CONTENT-TYPE", "application/x-www-form-urlencoded" XMLHTTP.send (StrData) Lakukan Hingga XMLHTTP.ReadyState = 4 DoEvents Loop '--------------------------------Fungsi kembali Select Case DataStic Case ResponseText '-------------- Langsung kembalikan string DataS = XMLHTTP.ResponseText PostData = DataS Case ResponseBody '-- --- ---------------------------- Langsung mengembalikan biner DataB = XMLHTTP.ResponseBody PostData = DataB Case ResponseBody + ResponseText '---- -- --------------------- Konversi biner ke string [coba ketika string yang dikembalikan secara langsung kacau] DataS = BytesToStr(XMLHTTP.ResponseBody) PostData = DataS Case Else '- -------------------------------PostData pengembalian tidak valid = "" Akhiri Pilih '------------------------------------Release space Set XMLHTTP = Tidak Ada Keluar dari FunctionERR : PostData = ""Akhiri Fungsi Fungsi BytesToStr(ByVal vIn) As String strReturn = "" Untuk i = 1 Ke LenB(vIn) ThisCharCode = AscB(MidB(vIn, i, 1)) If ThisCharCode < &H80 Kemudian strReturn = strReturn & Chr(ThisCharCode) Lain BerikutnyaCharCode = AscB(MidB(vIn, i + 1, 1)) strReturn = strReturn & Chr(CLng(ThisCharCode) * &H100 + CInt(NextCharCode)) i = i + 1 Berakhir Jika BytesToStr Berikutnya = Fungsi strReturnEnd