码迷,mamicode.com
首页 > Windows程序 > 详细

c#调用野狗云 rest api

时间:2017-07-20 00:48:53      阅读:744      评论:0      收藏:0      [点我收藏+]

标签:read   响应   一个   字节   web   x509   get   配置   post   

野狗云就不多介绍了,这里主要是记录一下c#调用他们提供的rest api,把数据post到野狗云存储,直接上代码

 

static void Main(string[] args)
        {
            string str = "hello";
            /*
             * 注意这里的链接,要加上.json
             * 我就是在这里被坑了1个小时
             * 总是异常:400 Bad Request
             * 之后我在野狗云应用中手动加入了一个user节点
             * 然后就正常保存了
             */
            //appId:对应你的野狗云应用

            Post("https://<appId>.wilddogio.com/user.json", "{\"col1\":\"" + DateTime.Now.ToString("yyyy/MM/dd HH:mm:ss") + "\",\"col2\":\"" + str + "\"}");
        }

        /// <summary>
        /// 发送post请求
        /// </summary>
        /// <param name="posturl">请求地址</param>
        /// <param name="jsonstr">json数据</param>
        /// <returns></returns>
        public static string Post(string posturl, string jsonstr)
        {

            //设置https验证方式
            if (posturl.StartsWith("https", StringComparison.OrdinalIgnoreCase))
            {
                ServicePointManager.ServerCertificateValidationCallback =
                        new RemoteCertificateValidationCallback(CheckValidationResult);
            }

            HttpWebRequest request = (HttpWebRequest)WebRequest.Create(posturl);

            request.Method = "POST";
            request.ContentType = "application/x-www-form-urlencoded";


            //json字符串转为字节数组 
            byte[] bytes = System.Text.Encoding.UTF8.GetBytes(jsonstr);

            //设置请求的ContentLength   
            request.ContentLength = bytes.Length;

            //发送请求,获得请求流  
            Stream stream;
            try
            {
                //获取用于写入请求数据的Stream对象
                stream = request.GetRequestStream();
            }
            catch (Exception ex)
            {
                stream = null;
                Console.WriteLine(ex.Message);
            }
            //把数据写入流
            stream.Write(bytes, 0, bytes.Length);

            stream.Close();

            HttpWebResponse response;
            try
            {
                //获得响应流
                response = (HttpWebResponse)request.GetResponse();
            }
            catch (WebException ex)
            {
                response = ex.Response as HttpWebResponse;
            }

            Stream s = response.GetResponseStream();

            StreamReader sr = new StreamReader(s, Encoding.UTF8);

            string strVal = sr.ReadToEnd().Trim();
            sr.Close();

            s.Close();

            return strVal;
        }

        public static bool CheckValidationResult(object sender, X509Certificate certificate, X509Chain chain, SslPolicyErrors errors)
        {
            return true;
        }

 

野狗云应用配置一下字节点

技术分享

 

技术分享

 

post成功后返回

技术分享

 

第一次写,仅仅做一个记录,也希望能够帮助到需要帮助的人。

 

c#调用野狗云 rest api

标签:read   响应   一个   字节   web   x509   get   配置   post   

原文地址:http://www.cnblogs.com/cdyy/p/7208564.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!