Asp Net中获取并修改请求内容Request.Body的值
背景
使用WebApi,通过接口获取请求数据,修改部分内容后转发给另一个网址。其中,Request.Body均为文本数据。
方案
首先获取Request.Body的值。
using (var stram = new MemoryStream())
using (var reader = new StreamReader(stram))
{
Request.Body.Seek(0, SeekOrigin.Begin);
Request.Body.CopyTo(stram);
stram.Seek(0, SeekOrigin.Begin);
var body = reader.ReadToEnd();
}
之后进行修改赋值
byte[] array = Encoding.UTF8.GetBytes(body);
MemoryStream stream = new MemoryStream(array);
var streamContent = new StreamContent(stream);
requestMessage.Content = streamContent;