IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 网络协议 -> C# https post json格式调用接口 -> 正文阅读

[网络协议]C# https post json格式调用接口

using Newtonsoft.Json.Linq;

using System.Net.Security;
using System.Security.Cryptography.X509Certificates;
using Newtonsoft.Json;
using System.IO;
using System.Net;

 private static readonly string DefaultUserAgent = "Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/72.0.3626.121 Safari/537.36";
        // private static bool CheckValidationResult(object sender, X509Certificate certificate, X509Chain chain, SslPolicyErrors errors)
        //{
        //     return true; //总是接受   
        // }
        private static bool CheckValidationResult(object sender, X509Certificate certificate, X509Chain chain, SslPolicyErrors sslPolicyErrors)
        {
            return true;
        }
        public static string Base64Encode(Encoding encodeType, string source)
        {
            string encode = string.Empty;
            byte[] bytes = encodeType.GetBytes(source);
            try
            {
                encode = Convert.ToBase64String(bytes);
            }
            catch
            {
                encode = source;
            }
            return encode;
        }

  public static string PostToYS(string access_token, string account, string year, string ystype)
        {
            try
            {
                string returnjsonlist = "";
                var dataset = HLYSetCode.FindAll("", "", "", 0, 0);
                string url = System.Configuration.ConfigurationManager.AppSettings["HLYGetYSURL"];
                JObject patientinfo = new JObject();
                JObject patientinfolist = new JObject();
                JArray queryLineList1 = new JArray();
                JArray queryLineList2 = new JArray();
                JArray queryParameterList1 = new JArray();
                JArray queryParameterList2 = new JArray();
                JObject user = new JObject();
                JObject user1 = new JObject();
                JObject userB = new JObject();
                JObject userB1 = new JObject();
                user1["parameterValueCode"] = account + ystype;
                queryParameterList1.Add(user1);
                user["parameterType"] = "BGT_RULE_PARAMETER_BUDGET";
                user["parameterCode"] = "BUDGET_ITEM";
                //user["isAll"] = "false";
                //user["parameterType"] = dataset[0].ParameterType;
                //user["parameterCode"] = dataset[0].ParameterCode;
                user["isAll"] = dataset[0].IsAll;
                user["queryParameterList"] = queryParameterList1;
                queryLineList1.Add(user);

                userB1["parameterValueCode"] = ystype;
                queryParameterList2.Add(userB1);
                userB["parameterType"] = "BGT_RULE_PARAMETER_DIM";
                userB["parameterCode"] = "2";
                userB["isAll"] = "false";
                userB["queryParameterList"] = queryParameterList2;
                queryLineList1.Add(userB);
                //patientinfo["companyCode"] = "001";
                //patientinfo["organizationCode"] = "01";
                //patientinfo["scenarioCode"] = "1";
                //patientinfo["versionCode"] = "1";
                //patientinfo["structureCode"] = "777";
                //patientinfo["conditionCode"] = "001";
                //patientinfo["conditionName"] = "申万菱信控制策略";
                //patientinfo["periodSummaryFlag"] = true;
                //patientinfo["amountQuarterFlag"] = "AMOUNT";
                patientinfo["companyCode"] = dataset[0].CompanyCode;
                patientinfo["organizationCode"] = dataset[0].OrganizationCode;
                patientinfo["scenarioCode"] = dataset[0].ScenarioCode;
                patientinfo["versionCode"] = dataset[0].VersionCode;
                patientinfo["structureCode"] = dataset[0].StructureCode;
                patientinfo["conditionCode"] = dataset[0].ConditionCode;
                patientinfo["conditionName"] = dataset[0].ConditionName;
                patientinfo["periodSummaryFlag"] = dataset[0].PeriodSummaryFlag;
                patientinfo["amountQuarterFlag"] = dataset[0].AmountQuarterFlag;
                patientinfo["yearLimit"] = year;
                patientinfo["periodLowerLimit"] = year + "-01";
                patientinfo["periodUpperLimit"] = year + "-12";
                //patientinfo["versionNumber"] = 2;
                patientinfo["versionNumber"] = Convert.ToInt32(dataset[0].VersionNumber);
                patientinfo["queryLineList"] = queryLineList1;
                //上面拼接json格式参数
                string body = JsonConvert.SerializeObject(patientinfo);
                //eg:  发送Url需要的格式:sendData={"ids":[123],"Name":小黑}
                HttpWebRequest request = null;
                CookieContainer cookie = new CookieContainer();
                ServicePointManager.ServerCertificateValidationCallback = new RemoteCertificateValidationCallback(CheckValidationResult);
                request = WebRequest.Create(url) as HttpWebRequest;
                request.CookieContainer = cookie;
                request.ProtocolVersion = HttpVersion.Version11;
                request.Method = "POST";
                request.ContentType = "application/json";
                request.UserAgent = DefaultUserAgent;
                request.KeepAlive = true;
                request.Headers["Authorization"] = "Bearer " + access_token;
                ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12 | SecurityProtocolType.Tls11;//证书,.net framework4.5以上
                byte[] byteData = Encoding.UTF8.GetBytes(body);
                int length = byteData.Length;
                request.ContentLength = length;
                using (Stream stream = request.GetRequestStream())
                {
                    stream.Write(byteData, 0, byteData.Length);
                }
                var response = (HttpWebResponse)request.GetResponse();
                using (StreamReader st = new StreamReader(response.GetResponseStream(), Encoding.GetEncoding("utf-8")))
                {
                    returnjsonlist = st.ReadToEnd().ToString();
                    // return st.ReadToEnd().ToString();
                    JObject jo = (JObject)JsonConvert.DeserializeObject(returnjsonlist);
                    access_token = jo["message"].ToString();
                }
                return returnjsonlist;
            }
            catch (Exception ex)
            {
                string err = ex.Message;
                return string.Empty;
            }
        }
  网络协议 最新文章
使用Easyswoole 搭建简单的Websoket服务
常见的数据通信方式有哪些?
Openssl 1024bit RSA算法---公私钥获取和处
HTTPS协议的密钥交换流程
《小白WEB安全入门》03. 漏洞篇
HttpRunner4.x 安装与使用
2021-07-04
手写RPC学习笔记
K8S高可用版本部署
mySQL计算IP地址范围
上一篇文章      下一篇文章      查看所有文章
加:2022-02-24 15:41:42  更:2022-02-24 15:43:29 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年10日历 -2024/10/5 13:31:15-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码