gpt4 book ai didi

c# - c# 中的 HTTP 库

转载 作者:可可西里 更新时间:2023-11-01 16:03:00 26 4
gpt4 key购买 nike

我正在将一个小型网络服务器嵌入到我的程序中。它相对简单 - 只需要提供原始 html 文件和 javascript。

我有一些异步网络代码可用于获取基本管道。但是有没有现成的库可以理解 http?

我只需要能够解析 http 请求以提取路径、查询字符串、发布变量并能够做出相应的响应。

无需 SSL 或 cookie 或身份验证。

我尝试了几个网络服务器库,但并不满意,主要是因为它们使用工作线程,这使得与程序 UI 的交互变得烦人。

理想情况下,我只想要一个库,它可以接受一些 http 请求字符串\流并返回给我一个结构或对象。

最佳答案

我认为 HttpListener可能会做你想做的事。

编辑:(添加代码示例以防万一)

这里有一些代码来展示如何使用它(使用异步方法)。

HttpListener _server = new HttpListener();

// add server prefix (this is just one sample)
_server.Prefixes.Add("http://*:8080");

// start listening
_server.Start();

// kick off the listening thread
_Server.BeginGetContext(new AsyncCallback(ContextCallback), null);

然后在 ContextCallback(IAsyncResult result)

// get the next request
HttpListenerContext context = _server.EndGetContext(result);

// write this method to inspect the context object
// and do whatever logic you need
HandleListenerContext(context);

// is the server is still running, wait for the next request
if (_Server.IsListening)
{
_server.BeginGetContext(new AsyncCallback(ServerThread), null);
}

看看HttpListenerContext有关您可用的详细信息,但主要的可能是 Request属性(property)。

关于c# - c# 中的 HTTP 库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/769156/

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