在 C# 中解析原始 HTTP - 还是更好的选择?



我有一个原始套接字,我想发出HTTP请求。我想为我找回解析得很好的 http 响应。理想情况下,我可以将此原始套接字提供给 HttpClient - 标准库中的某些内容。套接字周围的"TheWrapperClass"将允许我再次使用更高级别的指令 - 来自 HttpClient/HttpClientHandler 的指令,如:clientHandler.ClientCertificatesclientHandler.Credentials等。

也许是这样的事情?

HttpClientHandler clientHandler = new HttpClientHandler();
clientHandler.SocketFactory = mySocket/FactoryGoesHere???
HttpClient client = new HttpClient(new CustomMessageHandler());
var resp = await client.GetAsync("http://whatever");

我正在考虑像Java的SSLSocketFactory这样的东西 - 在.NET中是否有我还没有找到

的等效物?归根结底 - 我真的只想有一个库来调用它,它可以轻松地将 HTTP 写入线路并轻松地从线路读取 HTTP。如果我有这个,我就不需要HttpClient了。 或者,我需要一种方法来使用 HttpClient 将字节发送到我给类的套接字中。

编辑: 我尝试使用HttpMessageHandler,但HttpRepons是我手工制作的。我需要一些读取流并为我解析 http 的东西。

如果你不需要执行JavaScript,SimpleBrowser可能适合你: https://github.com/SimpleBrowserDotNet/SimpleBrowser

它不会公开原始套接字供您用作双向流,但它将允许您通过 HTTP 导航并接收 HTTP 响应。HTTP 响应可以是来自 Web 服务器的原始文本响应,也可以是解析的 XML (XHTML) 文档。

最新更新