您的问题似乎不完整,您是想询问关于C语言编程的某个具体问题吗?比如C语言的语法、编程技巧、项目开发等。请提供更具体的信息,这样我才能给出更准确的回答。
- 内容介绍
- 文章标签
- 相关推荐
本文共计581个文字,预计阅读时间需要3分钟。
目录 + Post调用接口并传递JSON参数 + Post请求参数(发送JSON参数、发送普通参数) + 1. 发送JSON格式的Post请求 + 2. 带参数的Post请求 + Post调用接口并传递JSON参数 + public string Post(string Url, string jsonParas)
目录
- Post调用接口并传递json参数
- Post请求参数(发送Json参数、发送普通参数)
- 1.发送Json格式的Post请求
- 2.带参数的Post请求
Post调用接口并传递json参数
public string Post(string Url, string jsonParas) { string strURL = Url; //创建一个HTTP请求 HttpWebRequest request = (HttpWebRequest)WebRequest.Create(strURL); //Post请求方式 request.Method = "POST"; //内容类型 request.ContentType = "application/json"; //设置参数,并进行URL编码 string paraUrlCoded = jsonParas;//System.Web.HttpUtility.UrlEncode(jsonParas); byte[] payload; //将Json字符串转化为字节 payload = System.Text.Encoding.UTF8.GetBytes(paraUrlCoded); //设置请求的ContentLength request.ContentLength = payload.Length; //发送请求,获得请求流 Stream writer; try { writer = request.GetRequestStream();//获取用于写入请求数据的Stream对象 } catch (Exception) { writer = null; Console.Write("连接服务器失败!"); } //将请求参数写入流 writer.Write(payload, 0, payload.Length); writer.Close();//关闭请求流 // String strValue = "";//strValue为IP:端口/AAA/BBB/CCC"; string id="123"; string Name="小黑"; JObject patientinfo = new JObject(); JArray ids = new JArray(); ids.Add(id); patientinfo["ids"] = ids; patientinfo["Name"] = Name; string sendData = JsonConvert.SerializeObject(patientinfo); //eg: 发送Url需要的格式:sendData={"ids":[123],"Name":小黑} string resultData = Post(sendData, PostUrl);
(2)Post方法
#region Post请求 /// <summary> /// IP:端口/AAA/BBB/CCC"; Dictionary<string, string> dic=new Dictionary<string, string>(); dic.Add("Id","123"); dic.Add("Name","笑笑"); string resultData = Post(dic, PostUrl);
(2)Post方法
#region post带参数的请求 /// <summary> /// 指定Post地址使用Get 方式获取全部字符串 /// Post是从服务器上传送数据 /// </summary> /// <param name="url">请求Url地址</param> /// <param name="dic">拼接Url的字段</param> /// <returns></returns> public static string Post(string url, Dictionary<string, string> dic) { #region //eg:IP:端口/AAA/BBB/CCC//发送对应参数 #region 创建Web访问对象 HttpWebRequest req = (HttpWebRequest)WebRequest.Create(url); //req.Method = "POST"; //req.ContentType = "application/x-www-form-urlencoded"; req.Method = "POST"; req.AutomaticDecompression = DecompressionMethods.GZip; req.ContentType = "application/json; charset=UTF-8"; #endregion #region Post添加并拼接参数,形成对应Url地址 StringBuilder builder = new StringBuilder(); int i = 0; if (dic.Count > 0) { foreach (var item in dic) { if (i > 0) builder.Append("&"); builder.AppendFormat("{0}={1}", item.Key, item.Value); i++; } } #endregion #region 发送请求 byte[] data = Encoding.UTF8.GetBytes(builder.ToString()); req.ContentLength = data.Length; using (Stream reqStream = req.GetRequestStream()) { reqStream.Write(data, 0, data.Length); reqStream.Close(); } #endregion #region 通过Web访问对象获取响应内容 string result = ""; HttpWebResponse resp = (HttpWebResponse)req.GetResponse(); Stream stream = resp.GetResponseStream(); //获取响应内容 using (StreamReader reader = new StreamReader(stream, Encoding.UTF8)) { result = reader.ReadToEnd(); } return result; #endregion #endregion } #endregion
以上为个人经验,希望能给大家一个参考,也希望大家多多支持自由互联。
本文共计581个文字,预计阅读时间需要3分钟。
目录 + Post调用接口并传递JSON参数 + Post请求参数(发送JSON参数、发送普通参数) + 1. 发送JSON格式的Post请求 + 2. 带参数的Post请求 + Post调用接口并传递JSON参数 + public string Post(string Url, string jsonParas)
目录
- Post调用接口并传递json参数
- Post请求参数(发送Json参数、发送普通参数)
- 1.发送Json格式的Post请求
- 2.带参数的Post请求
Post调用接口并传递json参数
public string Post(string Url, string jsonParas) { string strURL = Url; //创建一个HTTP请求 HttpWebRequest request = (HttpWebRequest)WebRequest.Create(strURL); //Post请求方式 request.Method = "POST"; //内容类型 request.ContentType = "application/json"; //设置参数,并进行URL编码 string paraUrlCoded = jsonParas;//System.Web.HttpUtility.UrlEncode(jsonParas); byte[] payload; //将Json字符串转化为字节 payload = System.Text.Encoding.UTF8.GetBytes(paraUrlCoded); //设置请求的ContentLength request.ContentLength = payload.Length; //发送请求,获得请求流 Stream writer; try { writer = request.GetRequestStream();//获取用于写入请求数据的Stream对象 } catch (Exception) { writer = null; Console.Write("连接服务器失败!"); } //将请求参数写入流 writer.Write(payload, 0, payload.Length); writer.Close();//关闭请求流 // String strValue = "";//strValue为IP:端口/AAA/BBB/CCC"; string id="123"; string Name="小黑"; JObject patientinfo = new JObject(); JArray ids = new JArray(); ids.Add(id); patientinfo["ids"] = ids; patientinfo["Name"] = Name; string sendData = JsonConvert.SerializeObject(patientinfo); //eg: 发送Url需要的格式:sendData={"ids":[123],"Name":小黑} string resultData = Post(sendData, PostUrl);
(2)Post方法
#region Post请求 /// <summary> /// IP:端口/AAA/BBB/CCC"; Dictionary<string, string> dic=new Dictionary<string, string>(); dic.Add("Id","123"); dic.Add("Name","笑笑"); string resultData = Post(dic, PostUrl);
(2)Post方法
#region post带参数的请求 /// <summary> /// 指定Post地址使用Get 方式获取全部字符串 /// Post是从服务器上传送数据 /// </summary> /// <param name="url">请求Url地址</param> /// <param name="dic">拼接Url的字段</param> /// <returns></returns> public static string Post(string url, Dictionary<string, string> dic) { #region //eg:IP:端口/AAA/BBB/CCC//发送对应参数 #region 创建Web访问对象 HttpWebRequest req = (HttpWebRequest)WebRequest.Create(url); //req.Method = "POST"; //req.ContentType = "application/x-www-form-urlencoded"; req.Method = "POST"; req.AutomaticDecompression = DecompressionMethods.GZip; req.ContentType = "application/json; charset=UTF-8"; #endregion #region Post添加并拼接参数,形成对应Url地址 StringBuilder builder = new StringBuilder(); int i = 0; if (dic.Count > 0) { foreach (var item in dic) { if (i > 0) builder.Append("&"); builder.AppendFormat("{0}={1}", item.Key, item.Value); i++; } } #endregion #region 发送请求 byte[] data = Encoding.UTF8.GetBytes(builder.ToString()); req.ContentLength = data.Length; using (Stream reqStream = req.GetRequestStream()) { reqStream.Write(data, 0, data.Length); reqStream.Close(); } #endregion #region 通过Web访问对象获取响应内容 string result = ""; HttpWebResponse resp = (HttpWebResponse)req.GetResponse(); Stream stream = resp.GetResponseStream(); //获取响应内容 using (StreamReader reader = new StreamReader(stream, Encoding.UTF8)) { result = reader.ReadToEnd(); } return result; #endregion #endregion } #endregion
以上为个人经验,希望能给大家一个参考,也希望大家多多支持自由互联。

