ASP.NET Core 5.0 中读取Request中Body信息
ASP.NET Core 5.0 中读取Request中Body信息
记录一下如何读取Request中Body信息
public class ValuesController : ControllerBase
    {
        [HttpPost]
        [Route("Data")]
        public async Task<string> RequestData()
        {
            string body;
            //获取body
            Request.EnableBuffering();//可以实现多次读取Body
            StreamReader sr = new StreamReader(Request.Body);
            body = await sr.ReadToEndAsync();
            Request.Body.Seek(0, SeekOrigin.Begin);
            //获取请求头
            string header = $"请求头:";
            foreach (var item in Request.Headers)
            {
                header += $"{item.Key}:{item.Value}";
            }
            //获取请求ip
            var ip = Request.Headers["X-Forwarded-For"].FirstOrDefault();
            if (string.IsNullOrEmpty(ip))
            {
                ip = Request.HttpContext.Connection.RemoteIpAddress.MapToIPv4().ToString();
            }
            //返回body信息
            return body;
        }
    }
postman测试

ASP.NET Core 5.0 中读取Request中Body信息的更多相关文章
- ASP.NET Core 1.0: 指定Static File中的文件作为default page
		指定一个网站的default page是很容易的事情.譬如IIS Management中,可以通过default page来指定,而默认的index.html, index.htm之类,则早已经被设置 ... 
- ASP.NET Core 2.0 MVC - 获取当前登录用户信息
		一.前言 上篇实战完成后,没想到会有那么多的圈友给了那么多的支持,甚至连只是作为代码仓储的git上也给了一些小星星,真的感觉很惶恐啊,哈哈哈,毕竟代码写的很烂啊.由于上一篇只是大概说了下项目,所以准备 ... 
- 解决在Filter中读取Request中的流后,后续controller或restful接口中无法获取流的问题
		首先我们来描述一下在开发中遇到的问题,场景如下: 比如我们要拦截所有请求,获取请求中的某个参数,进行相应的逻辑处理:比如我要获取所有请求中的公共参数 token,clientVersion等等:这个时 ... 
- 解决在Filter中读取Request中的流后, 然后再Control中读取不到的做法
		摘要: 大家知道, StringMVC中@RequestBody是读取的流的方式, 如果在之前有读取过流后, 发现就没有了. 我们来看一下核心代码: filter中主要做的事情, 就是来校验请求是否合 ... 
- ASP.NET Core 3.0 自动挡换手动挡:在 Middleware 中执行 Controller Action
		最近由于发现奇怪的 System.Data.SqlClient 性能问题(详见之前的博文),被迫提前了向 .NET Core 3.0 的升级工作(3.0 Preview 5 中问题已被修复).郁闷的是 ... 
- Asp.Net Core 2.0 项目实战(9) 日志记录,基于Nlog或Microsoft.Extensions.Logging的实现及调用实例
		本文目录 1. Net下日志记录 2. NLog的使用 2.1 添加nuget引用NLog.Web.AspNetCore 2.2 配置文件设置 2.3 依赖配置及调用 ... 
- ASP.NET Core 1.0 部署 HTTPS (.NET Framework 4.5.1)
		var appInsights=window.appInsights||function(config){ function r(config){t[config]=function(){var i= ... 
- ASP.NET Core 1.0 部署 HTTPS
		ASP.NET Core 1.0 部署 HTTPS ASP.NET Core 1.0 部署 HTTPS (.NET Framework 4.5.1) 提示 更新时间:2016年01月23日. 在目前介 ... 
- ASP.NET Core 1.0基础之日志
		过年出去玩了一圈,回来继续翻译.前两天偷懒没有翻译,只是转了两篇C# 7计划中的新features,大家还是很支持的.现在继续完善这个系列. 来源https://docs.asp.net/en/lat ... 
随机推荐
- WPF学习笔记一 依赖属性及其数据绑定
			本文想通过由浅入深的讲解让读者比较深的理解依赖属性. 首先,我们回顾一下依赖属性的发展历史. 最初,人们提出面向对象编程时,并没有属性这个说法,当时叫做成员变量.一个对象由成员变量和成员函数组成,如 ... 
- clojure配置
			1.转换clojure工程为eclipse工程 Install Counterclockwise plugin in Eclipse (from eclipse marketplace). This ... 
- promise的信任问题&控制反转
			//信任问题 //第三方的某个库 function method(cb){ setTimeout(function(){ cb && cb(); //这个库的bug:函数被多调用了一次 ... 
- ubuntu 设置简单密码
			ubuntu自带的修改密码界面要求比较长.比较复杂的密码.但通过命令行可以不受此限制. 用如下命令,按提示输入密码即可. sudo passwd username 
- LeetCode入门指南 之 二分搜索
			上图表示常用的二分查找模板: 第一种是最基础的,查找区间左右都为闭区间,比较后若不等,剩余区间都不会再包含mid:一般在不需要确定目标值的边界时,用此法即可. 第二种查找区间为左闭右开,要确定targ ... 
- UDP实现在线聊天功能
			发送端 //发送 public class UDPChat01 { public static void main(String[] args) throws Exception { //开启端口 D ... 
- sublime text 3 中文排序插件
			ST3 的排序不支持中文按拼音排序,所以需要搞一个插件来支持这一特性 pypinyin 这个库可以把中文转成拼音,可惜不支持 python3.3,而 ST3 内置的 python 就是 3.3 我系统 ... 
- 【HMS Core 6.0全球上线】Network Kit全链路网络加速技术,应用无惧网络拥塞
			HMS Core 6.0已于7月15日全球上线,本次版本向广大开发者开放了众多全新能力与技术.其中HMS Core Network Kit开放了全链路网络加速技术,助力开发者为用户提供低时延的畅快网络 ... 
- 【Python机器学习实战】决策树与集成学习(五)——集成学习(3)GBDT应用实例
			前面对GBDT的算法原理进行了描述,通过前文了解到GBDT是以回归树为基分类器的集成学习模型,既可以做分类,也可以做回归,由于GBDT设计很多CART决策树相关内容,就暂不对其算法流程进行实现,本节就 ... 
- 使用Mosquitto实现MQTT客服端C语言
			上一篇文章已经将mosquitto移植到了arm平台上,现在将使用mosquitto完成mqtt客服端的demo,了解过mqtt协议的小伙伴都知道,mqtt主要分为代理服务器.发布者.订阅者三部分 ... 
