服务器之家:专注于服务器技术及软件下载分享
分类导航

PHP教程|ASP.NET教程|Java教程|ASP教程|编程技术|正则表达式|C/C++|IOS|C#|Swift|Android|VB|R语言|JavaScript|易语言|vb.net|

服务器之家 - 编程语言 - VB - VB使用XMLHTTP实现Post与Get的方法

VB使用XMLHTTP实现Post与Get的方法

2021-10-11 15:36VB教程网 VB

这篇文章主要介绍了VB使用XMLHTTP实现Post与Get的方法,有一定的借鉴价值,需要的朋友可以参考下

本文所述为visual basic6.0的一个模块方法,是使用XMLHTTP实现Post与Get功能,虽然是一个老代码,但是可以替代Inet控件,实现数据通讯。很值得学习借鉴一下。

主要模块代码如下:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
'==========================================================
'| 模 块 名 | 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分享如何在VB中调用VC编写的DLL

    分享如何在VB中调用VC编写的DLL

    一般来说,VB和VC共同编程有3种方式:一种是VC生成DLL,在VB中调用DLL;一种是VC生成ActiveX控件(.ocx),在VB中插入;还有一种是在VC中生成ActiveX Automation服务器...

    VB教程网4452021-10-07
  • VBVB关机恶搞小程序

    VB关机恶搞小程序

    本文给大家汇总了一些使用VB实现的关机恶搞小程序,大家娱乐一下就行了,千万别做坏事哦...

    VB教程网10142021-10-16
  • VBVB的TextBox文本框实现垂直居中显示的方法

    VB的TextBox文本框实现垂直居中显示的方法

    这篇文章主要介绍了VB的TextBox文本框实现垂直居中显示的方法,比较实用的功能,需要的朋友可以参考下...

    VB教程网15092021-10-11
  • VBVB返回记录集结果到HTML表格的方法

    VB返回记录集结果到HTML表格的方法

    这篇文章主要介绍了VB返回记录集结果到HTML表格的方法,实例分析了VB获取记录集与HTML表格生成的相关技巧,需要的朋友可以参考下...

    小卒过河10682021-10-15
  • VBVB实现的16位和32位md5加密代码分享

    VB实现的16位和32位md5加密代码分享

    这篇文章主要介绍了VB实现的16位和32位md5加密代码分享,需要的朋友可以参考下...

    VB.NET教程网8592021-10-08
  • VBVB键盘鼠标无动作调用程序的尝试

    VB键盘鼠标无动作调用程序的尝试

    这篇文章主要介绍了VB键盘鼠标无动作调用程序的尝试,记录下整个思路和过程,有需要的小伙伴可以参考下。...

    VB教程网4452021-10-15
  • VBVB6实现连接Access数据库的ADODB代码实现方法

    VB6实现连接Access数据库的ADODB代码实现方法

    这篇文章主要介绍了VB6实现连接Access数据库的ADODB代码实现方法,对于初学者掌握VB链接access数据库有着很好的借鉴价值,需要的朋友可以参考下...

    VB教程网9832021-10-11
  • VBVB获取文件大小的方法

    VB获取文件大小的方法

    这篇文章主要介绍了VB获取文件大小的方法,可实现准确获取文件大小的功能,需要的朋友可以参考下...

    小卒过河13192021-10-15