vb.net - 如何向公司网络上的服务器发出 POST 请求
问题描述
我已经获得了一些数据来执行对包含在我们工作网络中的服务器的 ping 调用。这个调用必须发生在我构建的 vb.net 应用程序中,但我真的很难开始使用这个。我试过创建一个 WebRequest,但我什至不确定那是正确的。
这是我所拥有的(“xxx”替换敏感部件):
POST /xxx/XmlService HTTP/1.1
Host: xxx001 (this is just the server name)
Content-Type: text/xml
Cache-Control: no-cache
Postman-Token: xxx (long token)
<?xml version="1.0" ?>
<xxx version="1.0">
<Request
Object="System"
Action="Ping">
</Request>
</xxx>
我期待一个 XML 响应回来。
至少有人能指出我正确的方向吗?非常感谢你!
解决方案
我终于把它连接起来了。以下是关注者的方法(使用与 OP 中相同的替换“xxx”字符串):
Dim uriTest As Uri
uriTest = New Uri("http://xxx001/xxx/XmlService")
Dim requestStr As String
requestStr = Strings.Trim("POST /xxx/XmlService HTTP/1.1" & Environment.NewLine &
"Host: xxx001" & Environment.NewLine &
"Content-Type: text/xml" & Environment.NewLine &
"Cache-Control: no-cache" & Environment.NewLine &
"Postman-Token: 6672bfe9-6d44-4770-869d-4f08c24ab143" & Environment.NewLine & Environment.NewLine &
"<?xml version=""1.0"" ?>" & Environment.NewLine &
"<xxx version=""1.0"">" & Environment.NewLine &
"<Request" & Environment.NewLine &
"Object=""System""" & Environment.NewLine &
"Action=""Ping"">" & Environment.NewLine &
"</Request>" & Environment.NewLine &
"</xxx>")
Dim req As HttpWebRequest, webreq As WebRequest
webreq = WebRequest.Create(uriTest)
req = CType(webreq, HttpWebRequest)
req.Method = "POST"
Dim dataStream As Stream = req.GetRequestStream()
Dim byteArray As Byte() = Encoding.UTF8.GetBytes(requestStr)
dataStream.Write(byteArray, 0, byteArray.Length)
dataStream.Close()
Dim response As WebResponse = req.GetResponse()
Console.WriteLine(CType(response, HttpWebResponse).StatusDescription)
dataStream = response.GetResponseStream()
Dim reader As New StreamReader(dataStream)
Dim responseFromServer As String = reader.ReadToEnd()
Console.WriteLine(responseFromServer)
reader.Close()
dataStream.Close()
response.Close()
推荐阅读
- javascript - 如果对象中有重复值,则 JavaScript 求和值
- c# - 如何删除组合框中的所有项目?
- c# - Json 数组无法反序列化
- python - 使用扩展的 Django 用户模型,注册表未在配置文件模型中保存数据
- gitlab-ci - 如何在 .gitlab-cy.yml 中包含远程私有 git 文件?
- uibutton - Swift:UIButtons 网格的触觉效果
- python - 如何修复此字节对象的编码以仅保留实际文本并删除 Python3 中的 '\x00\x05*\x00\x00\x0e\x00bjbj'?
- c# - 如何使用 EF Core 加快批量客户端比较/更新/插入?
- r - 为图例填充符号,ggplot
- javascript - 如何将 HTML 表格对象转换为字符串?