.net POST 提交

版权声明:大柱子 https://blog.csdn.net/weixin_43044132/article/details/88359804

  /// <summary>
        /// 首先登陆账号
        /// </summary>
        /// <returns></returns>
        public string Odoo()
        {
            try
            {
                string postString = Json();//这里即为传递的参数,可以用工具抓包分析,也可以自己分析,主要是form里面每一个name都要加进来
                byte[] postData = Encoding.UTF8.GetBytes(postString);//编码,尤其是汉字,事先要看下抓取网页的编码方式
                string url = OdooModel.LoginUrl;//地址
                WebClient webClient = new WebClient();
                webClient.Headers.Add("Content-Type", "application/json");//采取POST方式必须加的header,如果改为GET方式的话就去掉这句话即可
                byte[] responseData = webClient.UploadData(url, "POST", postData);//得到返回字符流
                string srcString = Encoding.UTF8.GetString(responseData);//解码

                return srcString;
            }
            catch (Exception ex)
            {
                return ex.ToString();
            }
        }
        public string Json()
        {
            Dictionary<string, object> Modela = new Dictionary<string, object>();
            Dictionary<string, object> Modelb = new Dictionary<string, object>();


            Modela.Add("jsonrpc", "2.0");
            Modela.Add("method", "call");
            Modelb.Add("db", OdooModel.Db);
            Modelb.Add("login", OdooModel.LoginName);
            Modelb.Add("password", OdooModel.Pwd);

            Modela.Add("params", Modelb);

            return JsonCommon.ObjectToJson(Modela);
        }

猜你喜欢

转载自blog.csdn.net/weixin_43044132/article/details/88359804