SR-201系列产品的云遥控二次开发包提供RESTful webservice接口控制模块,提供GetDeviceStatus和SendCommand2个URL。
POST device ID 和 device password 到以上URL,注意 Content-Type: text/xml
如:<DeviceQuery><devId>00000000000000</devId><devPwd>000000</devPwd></DeviceQuery>
POST device ID 、device password 和 command 到以上URL,注意 Content-Type: text/xml
如:<DeviceQuery><devId>00000000000000</devId><devPwd>000000</devPwd><devCmd>11</devCmd></DeviceQuery>
public int SendCommand(string server, string devId, string devPwd, string cmd) { Uri address = new Uri(string.Format("http://{0}/SyncServiceImpl.svc/SendCommand", server));///转换为uri,加以标记 string receiveText = "";///用来存储返回结果 // 创建webrequest HttpWebRequest request = WebRequest.Create(address) as HttpWebRequest; // Set type to POST request.Method = "POST"; request.ContentType = "text/xml"; string sendText = string.Format("", devId, devPwd, cmd); // 设置请求头的长度 request.ContentLength = sendText.Length; // 写入待请求的参数 using (Stream postStream = request.GetRequestStream()) { postStream.Write(Encoding.ASCII.GetBytes(sendText), 0, sendText.Length); } try { // 获取响应 using (HttpWebResponse response = request.GetResponse() as HttpWebResponse) { // 获取响应数据流 StreamReader reader = new StreamReader(response.GetResponseStream()); //把响应后的数据从头读取到尾 receiveText = reader.ReadToEnd(); XDocument xmlDoc = XDocument.Parse(receiveText); return Convert.ToInt16(xmlDoc.Root.Value); } } catch (Exception e) { throw; } } {0} {1} {2}