欢迎光临

木子屋

标题: Visual Basic使用Internet Transfer控件实现和Web应用程序通信

作者: dnawo

日期: 2007-08-03 11:18 AM

分类: Win编程

内容: 这次我们要实现的是在Visual Basic 6.0中向WEB应用程序发送数据并显示返回值，这就要用到Internet Transfer 控件，我们先来看看VB 6.0 MSDN中关于该控件的一些说明：
引用内容Internet Transfer 控件实现了两种广泛使用的 Internet 协议： 超文本传送协议(HyperText Transfer Protocol)(HTTP) 和文件传送协议(File Transfer Protocol) (FTP)。使用 Internet Transfer 控件可以通过 OpenURL 或 Execute 方法连接到任何使用这两个协议的站点并检索文件。
可见使用Internet Transfer 控件的OpenURL和Execute方法都能实现我们的要求，再来看看这两个方法的不同：
引用内容OpenURL 方法以同步方式传输数据。在这里，同步指的是传输操作未完成之前，不能执行其它过程。这样数据传输就必须在执行其它代码之前完成。
而 Execute 方法以异步方式传输数据。在调用 Execute 方法时，传输操作与其它过程无关。这样，在调用 Execute 方法后，在后台接收数据的同时，即可同时执行其它代码。
由于以上的不同，所以在用Execute方法获取数据时，则必须用 StateChanged 事件监视该控件的连接状态，当达到适当的状态时，再调用 GetChunk 方法从控件的缓冲区获取数据。
好了，下边我们就来测试下在Visual Basic中向ASP应用程序发送数据，并显示结果：
·启动Visual Basic 6.0并新建工程，选择"标准EXE"
·在form1上添加一文本框Text1和一按钮Command1
·先将"Microsoft Internet Transfer Control 6.0"部件添加到工具箱中，再添加一实例Inet1到form1中
1.使用OpenURL方法
ASP程序：
复制内容到剪贴板 程序代码<%
Dim username,userpass
username = Request("username")
userpass = Request("userpass")
Response.write("用户名:" & username & chr(10) & "密码:" & userpass)
%>
VB代码：
复制内容到剪贴板 程序代码Private Sub Command1_Click()
Text1.Text = Inet1.OpenURL("http://www.mzwu.com/re.asp?username=dnawo&userpass=123456")
End Sub
说明：可以看出，在OpenURL方法中只能用GET方式传送数据！
注意：当OpenURL参数为变量时，则声明该变量时必须指明类型，例：Dim sUrl as String，否则调用OpenURL方法时将出错：实时错误'35752' URL 不匹配。
2.使用Execute方法
ASP程序：
复制内容到剪贴板 程序代码<%
Dim username,userpass
username = Request("username")
userpass = Request("userpass")
Response.write("用户名:" & username & chr(10) & "密码:" & userpass)
%>
VB代码：
复制内容到剪贴板 程序代码Private Sub Command1_Click()
Dim strURL As String, strFormData As String
strURL = "http://www.mzwu.com/re.asp"
strFormData = "username=dnawo&userpass=123456"
Inet1.Execute strURL, "POST", strFormData, "Content-Type: application/x-www-form-urlencoded"
End Sub
Private Sub Inet1_StateChanged(ByVal State As Integer)
If State = 12 Then Text1.Text = Inet1.GetChunk(1024, icString)
End Sub
说明：Execute方法的第二个参数说明了发送数据的方法，可以是POST、GET、PUT、HEAD中的一个；第四个参数这边不能为空，否则ASP应用程序将接收不到数据！

+ 查看当前日志评论 (0)

登录

────────────

木子屋

PJBlog3 v3.2.9.518 Inside.

Processed In 2.828 ms

返回

标题: Visual Basic使用Internet Transfer控件实现和Web应用程序通信

你没有权限发表评论

────────────

木子屋

PJBlog3 v3.2.9.518 Inside.

Processed In 2.828 ms

返回

暂无评论

返回

────────────

木子屋

PJBlog3 v3.2.9.518 Inside.

Processed In 2.891 ms

返回