gpt4 book ai didi

c# - HttpWebResponse 发送到网络浏览器?

转载 作者:行者123 更新时间:2023-11-30 22:45:08 26 4
gpt4 key购买 nike

我是 c# 的新手,正在制作一个简单的代理来编辑某些 header 。

我已经使用 HttpLisenter 获取请求,然后使用 HttpWebRequest 和 Response 进行编辑、发送和接收。

现在我需要一些帮助来将编辑后的响应发送回网络浏览器。有没有人有任何链接或例子?我很难过:)

谢谢

最佳答案

这是一个简短的例子:

public void ProcessRequest(HttpContext context)
{
HttpWebRequest request = (HttpWebRequest)WebRequest.Create([NEW_URL]);
request.Timeout = 1000 * 60 * 60;

request.Method = context.Request.HttpMethod;

if (request.Method.ToUpper() == "POST")
{
Stream sourceInputStream = context.Request.InputStream;
Stream targetOutputStream = request.GetRequestStream();
sourceInputStream.CopyTo(targetOutputStream);
}

HttpWebResponse response = (HttpWebResponse)request.GetResponse();
context.Response.ContentType = request.ContentType;

using (response)
{
Stream targetInputStream = response.GetResponseStream();
Stream sourceOutputStream = context.Response.OutputStream;
targetInputStream.CopyTo(sourceOutputStream);
}
}

假设定义了以下扩展方法(我认为使用它可以使示例更具可读性):

public static void CopyTo(this Stream input, Stream output)
{
using (input)
using (output)
{
byte[] buffer = new byte[1024];
for (int amountRead = input.Read(buffer, 0, buffer.Length); amountRead > 0; amountRead = input.Read(buffer, 0, buffer.Length))
{
output.Write(buffer, 0, amountRead);
}
}
}

关于c# - HttpWebResponse 发送到网络浏览器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3205034/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com