好好爱自己!

C# 开发系列(三)

参考: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

 写入成功!

posted @ 2016-09-14 17:19  立志做一个好的程序员  阅读(150)  评论(0编辑  收藏  举报

不断学习创作,与自己快乐相处