VB.NET发送post请求的三种方式指定发送字符串内容、键值对和json串
''' ''' 指定Post地址使用Get 方式获取全部字符串''' ''' 请求地址''' 键值对''' 返回字符串 ''' Public Function Post(ByVal url As String, ByVal dic As Dictionary(Of String, String)) As StringDim result As String = ""Dim req As HttpWebRequest = CType(WebRequest.Create(url), HttpWebRequest)req.Method = "POST"req.ContentType = "application/x-www-form-urlencoded;charset=UTF-8"Dim builder As StringBuilder = New StringBuilder()Dim i As Integer = 0For Each item In dicIf i > 0 Then builder.Append("&")builder.AppendFormat("{0}={1}", item.Key, item.Value)i += 1NextDim data As Byte() = Encoding.UTF8.GetBytes(builder.ToString())req.ContentLength = data.LengthUsing reqStream As Stream = req.GetRequestStream()reqStream.Write(data, 0, data.Length)reqStream.Close()End UsingDim resp As HttpWebResponse = CType(req.GetResponse(), HttpWebResponse)Dim stream As Stream = resp.GetResponseStream()Using reader As StreamReader = New StreamReader(stream, Encoding.UTF8)result = reader.ReadToEnd()End UsingReturn resultEnd Function''' ''' 指定Post地址使用Get 方式获取全部字符串''' ''' 请求地址''' Post提交数据内容(utf-8编码的)''' 返回字符串 ''' Public Function Post(ByVal url As String, ByVal content As String) As StringDim result As String = ""Dim req As HttpWebRequest = CType(WebRequest.Create(url), HttpWebRequest)req.Method = "POST"req.ContentType = "application/x-www-form-urlencoded"Dim data As Byte() = Encoding.UTF8.GetBytes(content)req.ContentLength = data.LengthUsing reqStream As Stream = req.GetRequestStream()reqStream.Write(data, 0, data.Length)reqStream.Close()End UsingDim resp As HttpWebResponse = CType(req.GetResponse(), HttpWebResponse)Dim stream As Stream = resp.GetResponseStream()Using reader As StreamReader = New StreamReader(stream, Encoding.UTF8)result = reader.ReadToEnd()End UsingReturn resultEnd Function''' ''' json串post请求''' ''' ''' json字符串''' ''' Public Function Post(ByVal url As String, ByVal postData As String) As StringDim result As String = ""Dim req As HttpWebRequest = CType(WebRequest.Create(url), HttpWebRequest)req.Method = "POST"req.Timeout = "800"req.ContentType = "application/json"Dim data As Byte() = Encoding.UTF8.GetBytes(postData)req.ContentLength = data.LengthUsing reqStream As Stream = req.GetRequestStream()reqStream.Write(data, 0, data.Length)reqStream.Close()End UsingDim resp As HttpWebResponse = CType(req.GetResponse(), HttpWebResponse)Dim stream As Stream = resp.GetResponseStream()Using reader As StreamReader = New StreamReader(stream, Encoding.UTF8)result = reader.ReadToEnd()End UsingReturn resultEnd Function
json串最好新建一个实体类(tip:关键字和属性名冲突,可以中括号括起来声明[属性名]),实体类对象(new class.root)通过Newtonsoft.Json.dll序列化成json
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
