我正在 try catch 原始请求数据以进行问责,并希望从 Request 对象中提取请求正文内容。
我看到过执行 Request.InputStream 的建议,但此方法在 Request 对象上不可用。
知道如何获取 Request.Content 正文的字符串表示形式吗?
最佳答案
在您对@Kenneth 的回答的评论中,您说 ReadAsStringAsync()
正在返回空字符串。
那是因为你(或模型 Binder 之类的东西)已经阅读了内容,所以内部流在 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;
}
关于c# - 如何使用 .net 4 api 端点从 Request.Content 对象获取原始请求正文,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35589539/