c# - 获取 HttpRequest 完整的请求字符串

标签 c# asp.net

我正在开发一个将连接中继到另一台服务器的代理。我实现了一个 IHttpHandler,它接收对特定地址的请求并将它们发送到我的代理。

我的代理基本上启动了到代理服务器的 sockect 连接并读取原始请求:

var requestString = new StreamReader(httpRequest.InputStream).ReadToEnd();

此时我的问题出现了:输入流只包含 HTTP 请求的主体流,而不是完整的请求。

如何在不从 HttpRequest 对象重建它的情况下检索完整的 HTTP 请求?

最佳答案

我不知道 ASP .NET 中有明确的单行代码,但您可以非常接近,如 this 中所示。论坛帖子。建议用 HttpRequest 属性构建第一行,然后添加 ServerVariables["ALL_RAW"],然后是 InputStream 中的请求正文,因为您已经这样做了做。

关于c# - 获取 HttpRequest 完整的请求字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15348647/

相关文章:

c# - 从 CheckBox 控件中获取值

c# - Razor 是倒退了一步吗?

c# - 是否有更好的方法从数据表中获取列值

c# - 用户代码未处理 SqlException

c# - 创建 Entity Framework Context 的实例在负载下变慢

c# - ASP.Net:回发后如何维护文本框状态

c# - 将 SqlDataReader 中的数据放入 HTML 表中

c# - System.Data.Linq.dll 上的堆栈溢出异常

c# - 单击超链接时防止显示详细信息

c# - Azure C# 函数 : How to read from Table Storage