背景

使用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;

标签: Request.Body, 拦截请求, AspNet

添加新评论