vb.net - 如何将原始 json 数据发送到 vb.net 中的 put 方法?
问题描述
我正在尝试将原始数据发送到 PUT 方法,但由于“远程服务器返回错误:(502)错误网关”而出现错误,但我尝试在 Postman 代理中使用相同的数据,它的工作。
我试过的
Private Function SendRequest(uri As Uri, jsonDataBytes As Byte(), contentType As String, method As String) As String
Dim req As WebRequest = WebRequest.Create(uri)
req.ContentType = contentType
req.Method = method
req.ContentLength = jsonDataBytes.Length
req.Headers.Add("x-api-key:xxxxxY0tZN55jbXnY05Oxxxxx")
Dim stream = req.GetRequestStream()
stream.Write(jsonDataBytes, 0, jsonDataBytes.Length)
stream.Close()
Dim response = req.GetResponse().GetResponseStream()
Dim reader As New StreamReader(response)
Dim res = reader.ReadToEnd()
reader.Close()
response.Close()
Return res
End Function
调用函数
Dim postdata As String = "[{barcod:A0000041},{barcode:A0000113}]"
Dim data = Encoding.UTF8.GetBytes(postdata)
Dim Uri As New Uri("https://sample.com/xxxxx/xxxxx?funcName=UpdateBaarcode")
Dim result_post = SendRequest(Uri, data, "text/plain", "PUT")
我错过了什么,请回复。
问候, 阿拉文德
解决方案
对于 REST API
我通过 DirectCast 使用 WebRequest。
时间太久了,不记得为什么了。TT
试试下面的代码。
Private Function SendRequest(uri As Uri, jsonDataBytes As Byte(), contentType As String, method As String) As String
Dim req As HttpWebRequest= DirectCast(WebRequest.Create(uri), HttpWebRequest)
req.ContentType = contentType
req.Method = method
req.ContentLength = jsonDataBytes.Length
req.Headers.Add("x-api-key:xxxxxY0tZN55jbXnY05Oxxxxx")
Dim stream = req.GetRequestStream()
stream.Write(jsonDataBytes, 0, jsonDataBytes.Length)
stream.Close()
Dim response = DirectCast(req.GetResponse(), HttpWebResponse)
Dim reader As New StreamReader(response.GetResponseStream)
Dim res = reader.ReadToEnd()
reader.Close()
response.Close()
Return res
End Function
推荐阅读
- ios - 如何为支持的 swift 获取唯一的 DeviceID
- dashboard - 根据 Tableau 中的列计算总时间
- 3d - 是否可以预先将 .step、.x_t .x_b 转换为另一种格式,或者通过 Three.js 以任何方式输出?
- mysql - Symfony,Doctrine 在存储到数据库之前截断 Json 中的字符串
- postgresql - 我们如何在 Testcontainers R2DBC 中初始化模式?
- c# - 有条件的 Blazor 路由
- python - Pyarmor 打包多个文件
- reactjs - 状态更改时如何在 Button 中更改禁用 React
- javascript - 如何使用 css 将它们居中,以便即使在调整窗口大小时它们也保持一致?
- javascript - Webpack 5.47.1:配置对象无效。Webpack 已使用与 API 架构不匹配的配置对象进行初始化