VB使用XMLHTTP实现Post与Get的方法
来源:本站原创|时间:2020-01-10|栏目:vb|点击: 次
本文所述为visual basic6.0的一个模块方法,是使用XMLHTTP实现Post与Get功能,虽然是一个老代码,但是可以替代Inet控件,实现数据通讯。很值得学习借鉴一下。
主要模块代码如下:
'========================================================== '| 模 块 名 | XMLHTTP '| 说 明 | 替代Inet控件,实现数据通讯 '==========================================================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 '--------------------------------------函数返回 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 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 '-----------------------------函数返回 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 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
栏 目:vb
本文地址:https://www.xiuzhanwang.com/a1/vb/7208.html
您可能感兴趣的文章
- 01-10VBScript教程 第七课使用条件语句
- 01-10VBScript教程 第十四课在VBScript中使用对象
- 01-10VBScript教程 第八课 使用循环语句
- 01-10VBS教程:正则表达式简介 -使用正则表达式
- 01-10VBS教程:对象-Class 对象
- 01-10VBS教程:VBScript 基础-使用循环语句
- 01-10VBS教程:在 VBScript 中使用对象
- 01-10RCMD使用说明
- 01-10VBS教程:VBScript 基础-使用条件语句
- 01-10RCLS.vbs使用帮助
![](/a1/style/images/004af07a5ae19f0be5b1cbbbec88694e.png)
![](/a1/style/images/212000e21aa0a880f293fc28bb750a01.png)
阅读排行
本栏相关
- 01-10下载文件到本地运行的vbs
- 01-10飘叶千夫指源代码,又称qq刷屏器
- 01-10SendKeys参考文档
- 01-10什么是一个高效的软件
- 01-10VBS中的正则表达式的用法大全 &l
- 01-10exe2swf 工具(Adodb.Stream版)
- 01-10VBS中SendKeys的基本应用
- 01-10用VBSCRIPT控制ONSUBMIT事件
- 01-10VBScript教程 第十一课深入VBScript
- 01-10VBScript语法速查及实例说明
随机阅读
- 01-10delphi制作wav文件的方法
- 01-10使用C语言求解扑克牌的顺子及n个骰子
- 01-10SublimeText编译C开发环境设置
- 01-11Mac OSX 打开原生自带读写NTFS功能(图文
- 08-05织梦dedecms什么时候用栏目交叉功能?
- 01-10C#中split用法实例总结
- 08-05DEDE织梦data目录下的sessions文件夹有什
- 01-11ajax实现页面的局部加载
- 08-05dedecms(织梦)副栏目数量限制代码修改
- 04-02jquery与jsp,用jquery