我正在尝试捕获原始请求数据以进行问责,并希望从 Request 对象中提取请求正文内容。
我见过执行 Request.InputStream 的建议,但此方法在 Request 对象上不可用。
知道如何获取 Request.Content 正文的字符串表示形式吗?
在您对 @Kenneth 的回答的评论中,您是这么说的ReadAsStringAsync()
返回空字符串。
那是因为您(或诸如模型绑定器之类的东西)已经读取了内容,因此 Request.Content 中内部流的位置位于末尾。
你可以做的是:
public static string GetRequestBody()
{
var bodyStream = new StreamReader(HttpContext.Current.Request.InputStream);
bodyStream.BaseStream.Seek(0, SeekOrigin.Begin);
var bodyText = bodyStream.ReadToEnd();
return bodyText;
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)