将json请求传递给sitewhere服务器

时间:2016-10-18 05:45:43

标签: json web-services remote-server

你好,我试图通过外部.NET应用程序将json设备注册请求传递给远程sitewhere(IoT服务器)。以下是我的代码

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.IO;
using System.Linq;
using System.Net;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

命名空间Sitewhere_connect {     公共部分类Form1:表格     {         公共Form1()         {             的InitializeComponent();         }

    private void button1_Click(object sender, EventArgs e)
    {
        HttpWebRequest req = (HttpWebRequest)WebRequest.Create(@"http://localhost:1883/SiteWhere/input/json");
        req.Method = "POST";
        // Create Client
        WebClient client = new WebClient();
        // Assign Credentials
        client.Credentials = new NetworkCredential("admin", "password", "sitewhere1234567890");
        req.Credentials = CredentialCache.DefaultCredentials;
        using (var streamWriter = new StreamWriter(req.GetRequestStream()))
        {
            string json = "{\"hardwareId\":\"123456789\"," +
                          "\"siteToken\":\"bb105f8d-3150-41f5-b9d1-db04965668d3\"," +
                          "\"specificationToken\":\"82043707-9e3d-441f-bdcc-33cf0f4f7260\"," +
                          "\"comments\":\"Equipment tracker.\" }";
            streamWriter.Write(json);
            streamWriter.Flush();
            streamWriter.Close();

        }
        try
        {
            var httpResponse = (HttpWebResponse)req.GetResponse();
            using (var streamReader = new StreamReader(httpResponse.GetResponseStream()))
            {
                var result = streamReader.ReadToEnd();
            }
        }
        catch (System.Exception excep)
        {
            MessageBox.Show(excep.Message);

        }

    }
}

}

0 个答案:

没有答案