VB使用XMLHTTP實(shí)現(xiàn)Post與Get的方法
更新時間:2014年07月31日 10:55:46 投稿:shichen2014
這篇文章主要介紹了VB使用XMLHTTP實(shí)現(xiàn)Post與Get的方法,有一定的借鑒價(jià)值,需要的朋友可以參考下
本文所述為visual basic6.0的一個模塊方法,是使用XMLHTTP實(shí)現(xiàn)Post與Get功能,雖然是一個老代碼,但是可以替代Inet控件,實(shí)現(xiàn)數(shù)據(jù)通訊。很值得學(xué)習(xí)借鑒一下。
主要模塊代碼如下:
'========================================================== '| 模 塊 名 | XMLHTTP '| 說 明 | 替代Inet控件,實(shí)現(xiàn)數(shù)據(jù)通訊 '==========================================================Public Enum DataEnum ResponseText = 1 ResponseBody = 2 End Enum Public Function GetData(ByVal Url As String, ByVal DataStic As DataEnum) As Variant On Error GoTo ERR: Dim XMLHTTP As Object Dim DataS As String Dim DataB() As Byte Set XMLHTTP = CreateObject("Microsoft.XMLHTTP") XMLHTTP.Open "get", Url, True XMLHTTP.send While XMLHTTP.ReadyState <> 4 DoEvents Wend '--------------------------------------函數(shù)返回 Select Case DataStic Case ResponseText '--------------------------------直接返回字符串 DataS = XMLHTTP.ResponseText GetData = DataS Case ResponseBody '--------------------------------直接返回二進(jìn)制 DataB = XMLHTTP.ResponseBody GetData = DataB Case ResponseBody + ResponseText '------------------------------二進(jìn)制轉(zhuǎn)字符串[直接返回字串出現(xiàn)亂碼時嘗試] DataS = BytesToStr(XMLHTTP.ResponseBody) GetData = DataS Case Else '--------------------------------無效的返回 GetData = "" End Select '--------------------------------------釋放空間 Set XMLHTTP = Nothing Exit Function ERR: GetData = "" End Function Public Function PostData(ByVal StrUrl As String, ByVal StrData As String, ByVal DataStic As DataEnum) As Variant On Error GoTo ERR: Dim XMLHTTP As Object Dim DataS As String Dim DataB() As Byte Set XMLHTTP = CreateObject("Microsoft.XMLHTTP") XMLHTTP.Open "POST", StrUrl, True XMLHTTP.setRequestHeader "Content-Length", Len(PostData) XMLHTTP.setRequestHeader "CONTENT-TYPE", "application/x-www-form-urlencoded" XMLHTTP.send (StrData) Do Until XMLHTTP.ReadyState = 4 DoEvents Loop '-----------------------------函數(shù)返回 Select Case DataStic Case ResponseText '--------------------------------直接返回字符串 DataS = XMLHTTP.ResponseText PostData = DataS Case ResponseBody '--------------------------------直接返回二進(jìn)制 DataB = XMLHTTP.ResponseBody PostData = DataB Case ResponseBody + ResponseText '---------------------------二進(jìn)制轉(zhuǎn)字符串[直接返回字串出現(xiàn)亂碼時嘗試] DataS = BytesToStr(XMLHTTP.ResponseBody) PostData = DataS Case Else '--------------------------------無效的返回 PostData = "" End Select '------------------------------------釋放空間 Set XMLHTTP = Nothing Exit Function ERR: PostData = "" End Function Function BytesToStr(ByVal vIn) As String strReturn = "" For i = 1 To LenB(vIn) ThisCharCode = AscB(MidB(vIn, i, 1)) If ThisCharCode < &H80 Then strReturn = strReturn & Chr(ThisCharCode) Else NextCharCode = AscB(MidB(vIn, i + 1, 1)) strReturn = strReturn & Chr(CLng(ThisCharCode) * &H100 + CInt(NextCharCode)) i = i + 1 End If Next BytesToStr = strReturn End Function
您可能感興趣的文章:
- VB6實(shí)現(xiàn)連接Access數(shù)據(jù)庫的ADODB代碼實(shí)現(xiàn)方法
- VB的TextBox文本框?qū)崿F(xiàn)垂直居中顯示的方法
- VB的32位程序在64位系統(tǒng)中出現(xiàn)文件和注冊表自動轉(zhuǎn)向的解決方法
- VB實(shí)現(xiàn)鼠標(biāo)繪圖實(shí)例代碼
- VB實(shí)現(xiàn)屏蔽文本框右鍵菜單的復(fù)制、粘貼等功能的方法
- VB讀取線程、句柄及寫入內(nèi)存的API代碼實(shí)例
- VB實(shí)現(xiàn)的倒計(jì)時類代碼詳解
- VB調(diào)用Word拼寫檢查功能實(shí)例
- VB使用shell函數(shù)打開外部exe程序的實(shí)現(xiàn)方法
相關(guān)文章
VB使用XMLHTTP實(shí)現(xiàn)Post與Get的方法
這篇文章主要介紹了VB使用XMLHTTP實(shí)現(xiàn)Post與Get的方法,有一定的借鑒價(jià)值,需要的朋友可以參考下2014-07-07VB FileSystemObject對象實(shí)例詳解
FileSystemObject對象被用來訪問服務(wù)器上的文件系統(tǒng)。這個對象能夠處理文件、文件夾和目錄路徑。用它來檢索文件系統(tǒng)信息也是可能的,而且vb與vbs、asp都是差不多的語法2018-12-12VB實(shí)現(xiàn)屏蔽文本框右鍵菜單的復(fù)制、粘貼等功能的方法
這篇文章主要介紹了VB實(shí)現(xiàn)屏蔽文本框右鍵菜單的復(fù)制、粘貼等功能,是非常實(shí)用的一個功能,需要的朋友可以參考下2014-07-07