我正在开发一个将连接中继到另一台服务器的代理。我实现了一个 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/