国产探花免费观看_亚洲丰满少妇自慰呻吟_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
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

主站蜘蛛池模板: 万山特区| 泸溪县| 波密县| 革吉县| 双城市| 威信县| 中山市| 大石桥市| 青龙| 沐川县| 浦县| 苗栗县| 尚义县| 江西省| 蕲春县| 河池市| 恩施市| 依安县| 芒康县| 东兴市| 渑池县| 彭山县| 涿鹿县| 宁都县| 同心县| 易门县| 增城市| 工布江达县| 许昌县| 谢通门县| 东丽区| 霍山县| 浏阳市| 玛曲县| 嘉善县| 正蓝旗| 略阳县| 浏阳市| 伊宁县| 鄂州市| 晋城|