国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Visual Basic > 正文

VB使用XMLHTTP實現Post與Get的方法

2020-01-31 16:31:15
字體:
來源:轉載
供稿:網友

本文所述為visual basic6.0的一個模塊方法,是使用XMLHTTP實現Post與Get功能,雖然是一個老代碼,但是可以替代Inet控件,實現數據通訊。很值得學習借鑒一下。

主要模塊代碼如下:

'=========================================================='| 模 塊 名 | XMLHTTP'| 說  明 | 替代Inet控件,實現數據通訊'==========================================================Public Enum DataEnum  ResponseText = 1  ResponseBody = 2End 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  '--------------------------------------函數返回  Select Case DataStic  Case ResponseText    '--------------------------------直接返回字符串    DataS = XMLHTTP.ResponseText    GetData = DataS  Case ResponseBody    '--------------------------------直接返回二進制    DataB = XMLHTTP.ResponseBody    GetData = DataB  Case ResponseBody + ResponseText    '------------------------------二進制轉字符串[直接返回字串出現亂碼時嘗試]    DataS = BytesToStr(XMLHTTP.ResponseBody)    GetData = DataS  Case Else    '--------------------------------無效的返回    GetData = ""  End Select  '--------------------------------------釋放空間  Set XMLHTTP = Nothing  Exit FunctionERR:  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  '-----------------------------函數返回  Select Case DataStic  Case ResponseText    '--------------------------------直接返回字符串    DataS = XMLHTTP.ResponseText    PostData = DataS  Case ResponseBody    '--------------------------------直接返回二進制    DataB = XMLHTTP.ResponseBody    PostData = DataB  Case ResponseBody + ResponseText    '---------------------------二進制轉字符串[直接返回字串出現亂碼時嘗試]    DataS = BytesToStr(XMLHTTP.ResponseBody)    PostData = DataS  Case Else    '--------------------------------無效的返回    PostData = ""  End Select  '------------------------------------釋放空間  Set XMLHTTP = Nothing  Exit FunctionERR:  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 = strReturnEnd Function
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

主站蜘蛛池模板: 叙永县| 延安市| 湟源县| 南皮县| 盘锦市| 阳城县| 彰化市| 拜城县| 丽江市| 禹城市| 广南县| 湘潭县| 怀柔区| 临颍县| 冕宁县| 交口县| 垣曲县| 怀仁县| 贡觉县| 永安市| 会宁县| 肥东县| 万年县| 惠东县| 海门市| 雷波县| 凤庆县| 关岭| 浑源县| 天全县| 曲周县| 贡嘎县| 威海市| 曲松县| 滕州市| 蓬安县| 吕梁市| 吕梁市| 栾城县| 闵行区| 正阳县|