参考:http://stackoverflow.com/questions/11248935/passing-values-to-a-put-json-request-in-c-sharp
发送http 的 PUT 请求, 写入寄存器的值。
//put /test/putRegs
public string putRegs()
{
// Create the web request
HttpWebRequest request = WebRequest.Create("http://*****/devices/22052/regs") as HttpWebRequest;
// Add authentication to request
string _auth = string.Format("{0}:{1}", "**username**", "**password**");
string _enc = Convert.ToBase64String(Encoding.ASCII.GetBytes(_auth));
string _cred = string.Format("{0} {1}", "Basic", _enc);
request.Headers[HttpRequestHeader.Authorization] = _cred;
// Set type to POST
request.Method = "PUT";
request.ContentType = "application/json";
using (var streamWriter = new StreamWriter(request.GetRequestStream()))
{
string json = "[{"addr":2100,"value":99}]";// Need to put data here to pass to the API.**
streamWriter.Write(json);
}
// Get response
using (HttpWebResponse response = request.GetResponse() as HttpWebResponse)
{
// Get the response stream
StreamReader reader = new StreamReader(response.GetResponseStream());
// Console application output
//Console.WriteLine(reader.ReadToEnd());
return (reader.ReadToEnd());
}
}
编译运行后,浏览器访问: http://localhost:30921/test/putRegs

写入成功!