vb.net网页交互 vbnet窗体数据如何交互

vb.net/.net怎样使用http协议的get和post?不想一点一点写了 , 粘贴给你吧
使用 HttpWebRequest 向网站提交数据
HttpWebRequest 是 .net 基类库中的一个类 , 在命名空间 System.Net 下面,用来使用户通过 HTTP 协议和服务器交互 。
HttpWebRequest 对 HTTP 协议进行了完整的封装,对 HTTP 协议中的 Header, Content, Cookie 都做了属性和方法的支持 , 很容易就能编写出一个模拟浏览器自动登录的程序 。
程序使用 HTTP 协议和服务器交互主要是进行数据的提交 , 通常数据的提交是通过 GET 和 POST 两种方式来完成,下面对这两种方式进行一下说明:
1. GET 方式 。GET 方式通过在网络地址附加参数来完成数据的提交,比如在地址中 , 前面部分表示数据提交的网址,后面部分 hl=zh-CN 表示附加的参数,其中 hl 表示一个键(key), zh-CN 表示这个键对应的值(value) 。程序代码如下:
HttpWebRequest req = (HttpWebRequest) HttpWebRequest.Create( "" );
req.Method = "GET";
using (WebResponse wr = req.GetResponse())
{
//在这里对接收到的页面内容进行处理
}
2. POST 方式 。POST 方式通过在页面内容中填写参数的方法来完成数据的提交,参数的格式和 GET 方式一样,是类似于 hl=zh-CNnewwindow=1 这样的结构 。程序代码如下:
string param = "hl=zh-CNnewwindow=1";
byte[] bs = Encoding.ASCII.GetBytes(param);
HttpWebRequest req = (HttpWebRequest) HttpWebRequest.Create( "" );
req.Method = "POST";
req.ContentType = "application/x-www-form-urlencoded";
req.ContentLength = bs.Length;
using (Stream reqStream = req.GetRequestStream())
{
reqStream.Write(bs, 0, bs.Length);
}
using (WebResponse wr = req.GetResponse())
{
//在这里对接收到的页面内容进行处理
}
在上面的代码中,我们访问了的网址,分别以 GET 和 POST 方式提交了数据,并接收了返回的页面内容 。然而,如果提交的参数中含有中文,那么这样的处理是不够的 , 需要对其进行编码,让对方网站能够识别 。
3. 使用 GET 方式提交中文数据 。GET 方式通过在网络地址中附加参数来完成数据提交 , 对于中文的编码,常用的有 gb2312 和 utf8 两种,用 gb2312 方式编码访问的程序代码如下:
Encoding myEncoding = Encoding.GetEncoding("gb2312");
string address = "?"HttpUtility.UrlEncode("参数一", myEncoding)"="HttpUtility.UrlEncode("值一", myEncoding);
HttpWebRequest req = (HttpWebRequest)HttpWebRequest.Create(address);
req.Method = "GET";
using (WebResponse wr = req.GetResponse())
{
//在这里对接收到的页面内容进行处理
}
在上面的程序代码中,我们以 GET 方式访问了网址 , 传递了参数“参数一=值一”,由于无法告知对方提交数据的编码类型,所以编码方式要以对方的网站为标准 。常见的网站中,(百度)的编码方式是 gb2312,(谷歌)的编码方式是 utf8 。
4. 使用 POST 方式提交中文数据 。POST 方式通过在页面内容中填写参数的方法来完成数据的提交 , 由于提交的参数中可以说明使用的编码方式,所以理论上能获得更大的兼容性 。用 gb2312 方式编码访问的程序代码如下:
Encoding myEncoding = Encoding.GetEncoding("gb2312");
string param = HttpUtility.UrlEncode("参数一", myEncoding)"="HttpUtility.UrlEncode("值一", myEncoding)""HttpUtility.UrlEncode("参数二", myEncoding)"="HttpUtility.UrlEncode("值二", myEncoding);
byte[] postBytes = Encoding.ASCII.GetBytes(param);
HttpWebRequest req = (HttpWebRequest) HttpWebRequest.Create( "" );
req.Method = "POST";
req.ContentType = "application/x-www-form-urlencoded;charset=gb2312";
req.ContentLength = postBytes.Length;
using (Stream reqStream = req.GetRequestStream())
{
reqStream.Write(bs, 0, bs.Length);
【vb.net网页交互 vbnet窗体数据如何交互】}
using (WebResponse wr = req.GetResponse())
{
//在这里对接收到的页面内容进行处理
}
从上面的代码可以看出 , POST 中文数据的时候,先使用 UrlEncode 方法将中文字符转换为编码后的 ASCII 码,然后提交到服务器,提交的时候可以说明编码的方式 , 用来使对方服务器能够正确的解析 。
以上列出了客户端程序使用 HTTP 协议与服务器交互的情况,常用的是 GET 和 POST 方式 。现在流行的 WebService 也是通过 HTTP 协议来交互的,使用的是 POST 方法 。与以上稍有所不同的是, WebService 提交的数据内容和接收到的数据内容都是使用了 XML 方式编码 。所以,HttpWebRequest 也可以使用在调用 WebService 的情况下 。
用vb.net实现网络通信用 vb.net socket通信
Dim th As Threading.Thread
2Dim tcpl As System.Net.Sockets.TcpListener
3
4Private Sub Form1_Load()Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
5th = New System.Threading.Thread(New System.Threading.ThreadStart(AddressOf MyListen))
6th.Start()
7End Sub
8
9Public Sub SendMessage()Sub SendMessage(ByVal IP As String, ByVal SendMsg As String)
10Try
11If IP"" Then
12Dim tcpc As New System.Net.Sockets.TcpClient(IP, 5656)
13Dim tcpStream As Net.Sockets.NetworkStream = tcpc.GetStream
14Dim reqStream As New IO.StreamWriter(tcpStream)
15reqStream.Write(SendMsg)
16reqStream.Flush()
17tcpStream.Close()
18tcpc.Close()
19End If
20Catch ex As Exception
21MsgBox(ex.Message.ToString)
22End Try
23End Sub
24Private Sub MyListen()Sub MyListen()
25Try
26Dim ipAddress As System.Net.IPAddress = System.Net.Dns.Resolve(System.Net.Dns.GetHostName).AddressList(0)
27tcpl = New System.Net.Sockets.TcpListener(ipAddress, 5656)
28tcpl.Start()
29While True
30Dim s As System.Net.Sockets.Socket = tcpl.AcceptSocket()
31Dim MyBuffer(1024) As Byte
32Dim i As Integer
33i = s.Receive(MyBuffer)
34If i0 Then
35Dim lstrRec As String
36Dim j As Integer
37For j = 0 To i - 1
38TextBox1.Text= Chr(MyBuffer(j))","
39Next
40End If
41End While
42Catch ex As Exception
43MsgBox(ex.Message.ToString)
44End Try
45End Sub
46
47Private Sub Button1_Click()Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
48SendMessage("192.168.0.61", TextBox2.Text)
49End Sub
VB.NET环境下webbrowser网页与Winform程序交互如何实现?public Form1()
{
InitializeComponent();
webBrowser1.NewWindow= new CancelEventHandler(webBrowser1_NewWindow);
}
void webBrowser1_NewWindow(object sender, CancelEventArgs e)
{
e.Cancel=true;
webBrowser1.Navigate(webBrowser1.StatusText);
}
vb.net与flash的交互,flash用的是AS3.0语言一次性传5个参数我没有做过vb.net网页交互,但可以通过一次传一个值来实现 , 不知vb.net网页交互你是要实现功能还是学术研究呢,要是实现功能,我就把我的想法描述下vb.net网页交互:
如果vb.net网页交互你5个变量每次都是同时设的话,在flash中再定义1个变量,为s,用来描述参数状态
在vb.net里,传递参数时,先用SetVariable("pn",pn)设置pn(n=1-5)的值,然后,在设置s的状态SetVariable("s",1) 。
在flash里 , 将s初始化为0,在程序运行中,检测到s为1的时候才进行你上面mc的控制,同时将s清零 。
临时所想,有不周之处请多包涵
VB.NET 服务器与客户端数据交互问题?客户端简单代码vb.net网页交互:
Imports System.Net.Sockets
Imports System.IO
Private Output As NetworkStream
Private Writer As BinaryWriter
Private Reader As BinaryReader
Dim StrSend As String
Dim client As New TcpClient'
client.Connect(servIP, 2006)
Output = client.GetStream
Writer = New BinaryWriter(Output)
Reader = New BinaryReader(Output)
StrSend = "字符串"
System.Threading.Thread.Sleep(100)
Writer.Write(StrSend)
Try
Message = Reader.ReadString
If Message = "OK" Then
LBinfo.Text = "成功vb.net网页交互!"'测试
Else
LBinfo.Text = "失败vb.net网页交互!"
End If
System.Threading.Thread.Sleep(100)
Catch ex As Exception
MessageBox.Show("Client Application Closing!")
Finally
Writer.Close()
Reader.Close()
Output.Close()
client.Close()
End Try
服务器端
用线程
Imports System.Net.Sockets
Imports System.IO
Imports System.Threading
Imports System.Windows.Forms
Private Connection As Socket
Private readThread As Thread
Private SocketStream As NetworkStream
Private Writer As BinaryWriter
Private Reader As BinaryReader
Public Sub New()
MyBase.New()
'该调用是 Windows 窗体设计器所必需vb.net网页交互的 。
InitializeComponent()
'在 InitializeComponent() 调用之后添加任何初始化
readThread = New Thread(AddressOf RunServer)
readThread.Start()
End Sub
Public Sub RunServer()
Dim Listener As TcpListener
Try
Listener = New TcpListener(Net.IPAddress.Parse("192.168.1.16"), 2006)
Listener.Start()
While True
Connection = Listener.AcceptSocket'accept an incoming connection
SocketStream = New NetworkStream(Connection)'create networkstream object associated with socket
Writer = New BinaryWriter(SocketStream)'create object for transferring data acrossstream
Reader = New BinaryReader(SocketStream)'read string data sent from client
Try
Do
strIncept = Reader.ReadString
strIncept = DataDisp(strIncept)'此处插入数据处理程序()
SendInfoToClient(strIncept)'send to client
Loop While Connection.Connected
Catch ex As Exception
MsgBox(ex.ToString)
Finally
Writer.Close()
Reader.Close()
SocketStream.Close()
End Try
End While
Catch ex As Exception
MsgBox(ex.ToString)
End Try
End Sub
Public Sub SendInfoToClient(ByVal Info As String)
'Send to client
Try
If Connection.Connected Then
Writer.Write(Info)
Connection.Close()
End If
Catch ex As SocketException
MessageBox.Show(ex.ToString)
End Try
End Sub
整个过程都有vb.net网页交互了
挑战VB.Net和Flash都精通的高手:VB.Net与Flash的交互问题!你这个是.net控制的 。你发个 flash的文件 。没用 。
上面的代码是你 .net所有的代码吗?应该还有类文件吧 。。
可以给你做成一个 flash的 。。摒弃.net.
关于vb.net网页交互和vbnet窗体数据如何交互的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站 。

    推荐阅读