你好,我试图通过外部.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);
}
}
}
}