Java:重现捕获的请求

时间:2012-05-29 08:15:52

标签: java android http soap request

我试图重现使用intel upnp开发人员工具堆栈生成的SOAP请求。

使用设备嗅探器我能够捕获以下请求

有人可以向我指出什么是最简单的方法来重现这个?

数据包的来源:

POST /_urn-upnp-org-serviceId-SwitchPower.0001_control HTTP/1.1
SOAPACTION: "urn:schemas-upnp-org:service:SwitchPower:1#SetTarget"
CONTENT-TYPE: text/xml; charset="utf-8"
HOST: 192.168.1.18:1451
Content-Length: 347

<?xml version="1.0" encoding="utf-8"?>
<s:Envelope s:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"      xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
  <s:Body>
  <u:SetTarget xmlns:u="urn:schemas-upnp-org:service:SwitchPower:1">
     <newTargetValue>0</newTargetValue>
  </u:SetTarget>
</s:Body>
</s:Envelope>HTTP/1.1 200 OK
EXT: 
CONTENT-TYPE: text/xml; charset="utf-8"
SERVER: Windows NT/5.0, UPnP/1.0
Content-Length: 290

<?xml version="1.0" encoding="utf-8"?>
<s:Envelope s:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"     xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
  <s:Body>
    <u:SetTargetResponse xmlns:u="urn:schemas-upnp-org:service:SwitchPower:1" />
  </s:Body>
</s:Envelope>

1 个答案:

答案 0 :(得分:1)

一种简单的方法是在端口80上打开一个到系统的流,然后只是字面地写出字符。您也可以通过这种方式获得响应。然而,这并不是实际处理任何返回的最佳方式。您可以通过How to send HTTP request in java?发送正常请求,您也可以在此处解释响应。