Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vb.net/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Vb.net 如何向公司网络上的服务器发出POST请求_Vb.net_Post - Fatal编程技术网

Vb.net 如何向公司网络上的服务器发出POST请求

Vb.net 如何向公司网络上的服务器发出POST请求,vb.net,post,Vb.net,Post,我得到了一些数据来执行对工作网络中包含的服务器的ping调用。这个调用必须在我构建的vb.net应用程序中进行,但我真的很难开始这个调用。我尝试过创建WebRequest,但我甚至不确定这是否正确 以下是我所拥有的(“xxx”更换敏感部件): POST/xxx/XmlService HTTP/1.1 主机:xxx001(这只是服务器名) 内容类型:text/xml 缓存控制:没有缓存 邮递员代币:xxx(长代币) 我期待着XML回复 至少有人能给我指出正确的方向吗?非常感谢 我终于把它连接起来

我得到了一些数据来执行对工作网络中包含的服务器的ping调用。这个调用必须在我构建的vb.net应用程序中进行,但我真的很难开始这个调用。我尝试过创建WebRequest,但我甚至不确定这是否正确

以下是我所拥有的(“xxx”更换敏感部件):

POST/xxx/XmlService HTTP/1.1
主机:xxx001(这只是服务器名)
内容类型:text/xml
缓存控制:没有缓存
邮递员代币:xxx(长代币)
我期待着XML回复


至少有人能给我指出正确的方向吗?非常感谢

我终于把它连接起来了。以下是以下人员的操作方法(使用与OP中相同的替换“xxx”字符串):

Dim uriTest作为Uri
uriTest=新Uri(“http://xxx001/xxx/XmlService")
将requestStr设置为字符串
requestStr=Strings.Trim(“POST/xxx/XmlService HTTP/1.1”和Environment.NewLine&
“主机:xxx001”和Environment.NewLine&
“内容类型:text/xml”&Environment.NewLine&
“缓存控制:无缓存”&Environment.NewLine&
“邮递员代币:6672bfe9-6d44-4770-869d-4f08c24ab143”&Environment.NewLine&Environment.NewLine&
“”&Environment.NewLine&
“”&Environment.NewLine&
“”&Environment.NewLine&
“”&Environment.NewLine&
"")
Dim req作为HttpWebRequest,webreq作为WebRequest
webreq=WebRequest.Create(uriTest)
req=CType(webreq、HttpWebRequest)
请求方法=“POST”
Dim DATASSTREAM As Stream=req.GetRequestStream()
Dim byteArray As Byte()=Encoding.UTF8.GetBytes(requestStr)
dataStream.Write(byteArray,0,byteArray.Length)
dataStream.Close()
作为WebResponse=req.GetResponse()的Dim响应
Console.WriteLine(CType(响应,HttpWebResponse).StatusDescription)
dataStream=response.GetResponseStream()
Dim读卡器作为新的StreamReader(数据流)
Dim responseFromServer As String=reader.ReadToEnd()
Console.WriteLine(responseFromServer)
reader.Close()
dataStream.Close()
答复:Close()

假设Webrequest是正确的,我的困难在于我没有url,只有服务器地址。所以我试着使用\(服务器名)\,这可能还可以吗?但是,在我得到的数据中的“POST”之后,这个参数又如何呢?那我该怎么办?也无法理解邮递员令牌。请看一下:嗯,看起来像一些类似的语法,但套接字连接似乎需要IP地址,对吗?您可以简单地这样提到服务器:
client.Connect(“myserver.com”,123)在这种情况下,“客户机”是一个变量吗?
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>
    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()