0

我需要一些与类似主题的问题完全不同的东西。

我想知道是否存在一个.NET 库来创建一个真正的 http 请求流(显然是以参数方式)。这不适用于 ASP.NET 或其他 Web 框架,我想要一个原始字节流(不是各种http 上下文的模拟对象)。

我故意从问题标题中省略了fake,因为我需要一个真正的 http 请求,但我不想要一个通过网络发送它的组件。

[ebohlman 的注释]:如果我没看错的话,更清晰的表达方式是“......根据提供的参数创建一个模拟的 http 请求流(在原始字节级别)......”

基本上我应该能够(它遵循伪 C#):

[Fact]
void Parse_http_request_headers() {
  HttpRequest req = HttpRequestBuilder.Create(HttpMethod.Get, "http://someserver/app/etc/etc");

  HttpParser parser = new HttpParser(req.ToByteArray());

  parser.Method.Should().Be("GET");
  parser.Scheme.Should().Be("http");
  // Remainder omitted
}

我只是想知道是否有人已经创建了这样的东西。

4

1 回答 1

1

一种方法是创建一个TcpListener用于捕获和保存请求流的程序。在本地计算机上运行它。

然后,在一个单独的程序中,创建一个常规HttpWebRequest并将其发送到正在收听的程序。侦听器将流保存到二进制文件中,您现在有了可以检查的请求流。

于 2013-01-30T17:32:20.040 回答