我正在使用 libcurl。它非常好(作为客户端),我曾经打开一个到服务器的套接字,然后发送我的 http 数据包。
我想知道是否可以使用 libcurl 开发 http 服务器。http 服务器将在给定端口上侦听,然后当它接收到 http 数据包时,http 服务器返回对摘要身份验证的需要。
我在 stackoverflow 和 curl 网站上做了一些研究,但没有结果。
可以用 libcurl 做到这一点吗?怎么做?
重复其他人所说的话:不,libcurl 不适用于服务器。curl 常见问题解答中甚至说:
5.17 我可以用 libcurl 写一个服务器吗?
不,libcurl 不提供任何功能或构建块来构建任何类型的互联网协议服务器。libcurl 只是一个客户端库。对于服务器库,您需要在其他地方继续搜索,但是对于您可能需要服务器的大多数协议,存在许多优秀的开源库。并且确实有很多经过多年测试和证明的优秀独立产品。您无需重新发明它们!
你需要一些 HTTP服务器库(因为 libcurl 只是一个 HTTP客户端库)我建议使用libonion但还有其他几个 HTTP 服务器框架( C++ 中的libmicrohttpd、POCO和Wt ......)。
HTTP是一个复杂的协议,即使为它的一个很小的子集(如普通GET
请求,没有所有有用的功能,如条件请求、编码和压缩等)编写服务器也是合理可行的。因此,我建议使用成熟的 HTTP 服务器库,而这不能是一个小库。