当前位置: 首页 > news >正文

建网站的重要性电商小程序报价

建网站的重要性,电商小程序报价,免费链接生成器,福州网站建设推广公司目录 1.首先是基础的参数 2.使用RestClient 3.使用封装库 4.使用微软原生库进行请求 5.使用HttpClient进行请求 C#代码中,实现Http/Https 中的POST请求,可以有很多种方式,下面就梳理下我常用的几种方式,给大家借鉴 1.首先…

目录

1.首先是基础的参数

2.使用RestClient  

3.使用封装库  

4.使用微软原生库进行请求

5.使用HttpClient进行请求


C#代码中,实现Http/Https 中的POST请求,可以有很多种方式,下面就梳理下我常用的几种方式,给大家借鉴

1.首先是基础的参数

	//请求地址string url = $"https:/pczd.com/api/swj/auto/buildSln";//请求头Dictionary<string, string> header = new Dictionary<string, string>();//添加Tokenheader.Add("Authorization", "Token");//请求参数  这边使用JSONJToken param = new JObject();param["SlnCode"] = "Number01";param["SlnName"] = "一号上位机";param["SlnFramework"] = "Net461";//添加数组JArray jArray = JArray.FromObject(codeList);param["list"] = jArray;//得到JSON字符串string data = param.ToString();

2.使用RestClient  

使用RestClient  需要在项目中使用Nuget 引用 RestSharp包

//创建请求对象var client = new RestClient(url); //创建Requestvar request = new RestRequest();//设置请求类型 POSTrequest.Method = Method.Post;//添加请求头request.AddHeader("Authorization", "Token");request.AddHeader("Content-Type", "application/json");//添加请求体request.AddParameter("application/json", data, ParameterType.RequestBody);//发送请求var response = client.Execute(request);if(response.StatusCode==HttpStatusCode.OK){var result = string.Empty;//接收返回内容result = response.Content;//JSON 解析var resJson = JToken.Parse(result);var code = Convert.ToInt32(resJson["code"]);var msg = Convert.ToString(resJson["msg"]);if (code != 200){return new BaseResult(false, $"[{code}]{msg}");}return BaseResult.Successed;}else{return new BaseResult(false, $"[{response.StatusCode}]");}

3.使用封装库  

我自己封装的,需要Nuget引用 LS.Helper

做好一些方法的封装,在使用的过程中就能简化很多代码,和减少很多工作量

	//直接传请求头参数 和 请求JToken对象,再给个编码var resJson= LS.Helper.HttpJsonHelper.HttpPostRequest(url, header, param,dataEncoding);//返回的JToken对象,直接使用名称获取值var code = Convert.ToInt32(resJson["code"]);var msg = Convert.ToString(resJson["msg"]);if (code != 200){GlobalData.ProcessCtrl.AddOtherAlarm("MES041", $"绑定盒子码[{packingQrcode}]发生异常,接口返回信息【[{code}]{msg}】");return new BaseResult(false, $"[{code}]{msg}");}return BaseResult.Successed;

4.使用微软原生库进行请求

var request = (HttpWebRequest)WebRequest.Create(url);request.Method = "POST";              request.ContentType = "application/json";request.ContentLength = data.Length;request.Headers.Add("Authorization", token.Token);request.Headers.Add("Accept-Encoding", "gzip, deflate, br");//将请求体内容写入流中byte[] paramJsonBytes;paramJsonBytes = Encoding.ASCII.GetBytes(data);request.ContentLength = paramJsonBytes.Length;Stream writer = request.GetRequestStream();writer.Write(paramJsonBytes, 0, paramJsonBytes.Length);//发送请求var response = (HttpWebResponse)request.GetResponse();if (response.StatusCode == HttpStatusCode.OK){var result = string.Empty;//使用流接收数据using (var streamReader = new StreamReader(response.GetResponseStream())){//读取流中的内容result = streamReader.ReadToEnd();//JSON序列化,返回JToken对象var resJson = JToken.Parse(result);var code = Convert.ToInt32(resJson["code"]);var msg = Convert.ToString(resJson["msg"]);if (code != 200){GlobalData.ProcessCtrl.AddOtherAlarm("MES041", $"绑定盒子码[{packingQrcode}]发生异常,接口返回信息【[{code}]{msg}】");return new BaseResult(false, $"[{code}]{msg}");}return BaseResult.Successed;}}else{return new BaseResult(false, $"[{response.StatusCode}]");}

5.使用HttpClient进行请求

using (var httpClient = new HttpClient()){//添加请求头httpClient.DefaultRequestHeaders.Add("Authorization", token.Token);//创建请求体对象var content = new StringContent(data, dataEncoding, "application/json");     //发情POST请求  此处为异步请求var task = httpClient.PostAsync(url, content);//同步方法中需要等待task.Wait();var response = task.Result;if (response.IsSuccessStatusCode){//获取返回结果,一样是异步方法var res_task = response.Content.ReadAsStringAsync();//同步方法中需要等待res_task.Wait();var result = res_task.Result;//JSON序列化JToken resJson = JObject.Parse(result);var code = Convert.ToInt32(resJson["code"]);var msg = Convert.ToString(resJson["msg"]);if (code != 200){GlobalData.ProcessCtrl.AddOtherAlarm("MES041", $"绑定盒子码[{packingQrcode}]发生异常,接口返回信息【[{code}]{msg}】");return new BaseResult(false, $"[{code}]{msg}");}return BaseResult.Successed;}else{return new BaseResult(false, $"[{response.StatusCode}]");}}

http://www.yayakq.cn/news/474094/

相关文章:

  • 个人可以做公益网站吗php网站建设制作
  • 做公众号首图的网站定西市小企业网站建设
  • 网站地图页面设计做网站哪家便宜
  • 电商类网站开发健康网站模版
  • 深圳的网站建设公司那家好私人网站如何建
  • 网站建站收费网站建设与设计方案
  • 什么软件可以做网站动图建设行业管理信息系统官网
  • 百度站长工具验证wordpress设置配置文件报错
  • 做吗查网站的流量佛山外发加工网
  • 最快做网站的语言软件开发流程管理
  • 常德农科院网站个人婚礼网站设计
  • 淄博做网站跟优化海淘科技上海网站设计
  • 社区app网站模板下载做那种事情的网站
  • 成绩分析智能网站怎么做彭阳网站建设多少钱
  • 重庆大型网站建设重庆网站制作做美食的网站有那一些
  • 什么网站上可以做国际贸易好口碑自适应网站建设
  • 网站开发开题报告西安建站价格
  • 国家有规定必须做可信网站验证儿童7一8岁手工
  • 深圳网站制作hi0755建设银行龙卡信用卡官方网站
  • 网站域名空间多少钱网站建设600分站优缺点
  • 58同城网站建设要多少钱做网站备案的问题
  • 环保材料东莞网站建设wordpress文章没办法显示略缩图
  • 专业的网站建站公司最强大的wordpress
  • 如何做自己的视频网站即墨今天新闻大事
  • 中英文网站用同域名淘宝上开做网站的店铺
  • 怎么做网站后缀识别符号才不会变谷歌网站推广公司
  • 开办时 网站建设费 科目虫虫wap建站源码
  • 柳市网站推广西安专业做网站的
  • 石家庄网站建设方案沈阳seo优化
  • 对网站内容建设的建议wordpress 响应式 企业