使用VB 以HttpPost方式 实现数据发送
来源:互联网 发布:怎么用4g网络 编辑:程序博客网 时间:2024/05/22 17:50
Imports System.IOImports System.XmlImports System.DataImports System.Text.EncodingModule Module1 Sub Main() Dim str As String = "http://localhost/Post.aspx" Dim responseStr As String = PostRequest("xml内容", str) Console.WriteLine("http响应:") Console.WriteLine(responseStr) End Sub Public Function PostRequest(ByVal xmlRequest As String, ByVal postUrl As String) As String Dim xml As String = xmlRequest '实例化一个字符转码对象' Dim encoding As System.Text.Encoding = System.Text.Encoding.GetEncoding("utf-8") '创建一个web请求对象' Dim request As System.Net.WebRequest = System.Net.WebRequest.Create(postUrl) '设置请求方式为post' request.Method = "POST" '定义字节数组' Dim postdata() As System.Byte = encoding.GetBytes(xmlRequest) '设置request对象的请求字节的长度' request.ContentLength = postdata.Length '获取request对象的数据流' Dim requesstream As System.IO.Stream = request.GetRequestStream() '将数据内容填充到流中' requesstream.Write(postdata, 0, postdata.Length) '关闭流' requesstream.Close() '根据请求的request对象获取响应的response对象' Dim response As System.Net.WebResponse = request.GetResponse() '获取response数据流对象' Dim responsestream As StreamReader = New StreamReader(response.GetResponseStream()) '将response流中的数据读取' Dim html As String = responsestream.ReadToEnd() requesstream.Close() response.Close() '返回本次请求的响应数据' Return html End FunctionEnd Module
//http://localhost/Post.aspx的代码如下,是一个普通的aspx页面,protected void Page_Load(object sender, EventArgs e) { ExecuteServer(); } private void ExecuteServer() { StreamReader sr = new StreamReader(Request.InputStream); string strInput = sr.ReadToEnd(); sr.Close(); if (strInput.Contains("<tradeType>1001</tradeType>")) { Logger.LogInfo(String.Format("请求:{0}", strInput), "APITEST"); } else { Logger.LogInfo(String.Format("请求:{0}", strInput)); } this.Response.Write(strInput); //这里我们将收到的请求直接返回,不作处理,仅仅做事例而已 }