ASP.NET获取在线接口数据HttpPost
哈喽,又是新的一周。
上次说过了HTTPGet的接口参数获取,今天就顺势说下HttpPost的数据获取吧。
话不多说,Code Is EveryThing
private static string PostDataJsonBy(string url,string content) { string result = string.Empty; FormUrlEncodedContent body = new FormUrlEncodedContent(new Dictionary<string, string>()); try { byte[] bytes = Encoding.UTF8.GetBytes(content); HttpWebRequest request = (HttpWebRequest)WebRequest.Create(new Uri(url)); request.Method = "POST"; request.ContentLength = bytes.Length; request.ContentType = "application/json"; using (Stream reqstream = request.GetRequestStream()) { reqstream.Write(bytes, 0, bytes.Length); } //声明一个HttpWebRequest请求 request.Timeout = 90000; //设置连接超时时间 request.Headers.Set("Pragma", "no-cache"); try { HttpWebResponse response = (HttpWebResponse)request.GetResponse(); using (Stream streamReceive = response.GetResponseStream()) { using (StreamReader streamReader = new StreamReader(streamReceive, Encoding.UTF8)) { result = streamReader.ReadToEnd(); } } } catch (Exception e) { result = e.Message; } } catch (Exception) { return "[]"; } return result; }
简简单单,这个就是Post 的数据获取了。
如果这个帖子到这里就终结,好像也没啥,毕竟介绍都介绍完了。
但是我们写代码的怎么能就这么粗糙呢?
上次就说过Get,这次又说了Post,口罩都戴一年了。还分什么你我他啊
private static string GetDataJsonBy(string url,string content,string method = "Get") { string result = string.Empty; try { //声明一个HttpWebRequest请求 HttpWebRequest request = (HttpWebRequest)WebRequest.Create(new Uri(url)); //设置连接超时时间 request.Timeout = 90000; if (method != "Get") { FormUrlEncodedContent body = new FormUrlEncodedContent(new Dictionary<string, string>()); byte[] bytes = Encoding.UTF8.GetBytes(content); request.Method = "POST"; request.ContentLength = bytes.Length; request.ContentType = "application/json"; using (Stream reqstream = request.GetRequestStream()) { reqstream.Write(bytes, 0, bytes.Length); Console.WriteLine(bytes.ToString(), 0, bytes.Length); } request.Headers.Set("Pragma", "no-cache"); } try { HttpWebResponse response = (HttpWebResponse)request.GetResponse(); using (Stream streamReceive = response.GetResponseStream()) { using (StreamReader streamReader = new StreamReader(streamReceive, Encoding.UTF8)) { result = streamReader.ReadToEnd(); } } } catch (Exception e) { result = e.Message; } } catch (Exception) { return "[]"; } return result; }
鉴于我出众的大脑,在原有post方法上进行了一些小小的改动(懒)
于是这个兼顾了Get和Post的方法就成了。
【其实是下次我不用在写了】
好了,这次就到这里
分类:
心得——写给自己
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!