使用 C 语言实现 Web 服务

Shr*_*ain 1 c web-services

我想使用 C 语言实现 RESTful Web Service。在 C 语言中进行网络和所有相关内容的最佳方式是什么?是否有任何库可以执行相同的操作?

nac*_*yde 7

创建一个 RESTful API 并不难,许多语言已经有框架来做到这一点(C#、JEE 等)。在 C 中,您必须自己做所有事情。

几个月前我不得不为一个学校项目做这件事。你只需要一些东西:

  • 一个网络服务器(GNU 的libmicrohttpd是一个很好的)
  • 一个解析器,我个人使用regex.h制作了自己的解析器,起初有点困难,但非常强大。此解析器将处理 URL 请求及其数据(例如 GET 或 POST 数据),并将它们解析为 API 使用的正确结构。请求数据通常以 JSON 表示,因此您也可能需要一个 JSON 解析器,我使用了好的JANSSON
  • 系统以您想要的方式存储数据。最简单的就是连接一个数据库,我用的是MySQL数据库,MySQL C API很完美

这些链接可以帮助您找到更多详细信息:

  • 一个简单的 C/C++ REST 框架
  • Ulfius,这是一个 C REST 框架,用于在 C 中创建 REST API,它使用 libmicrohtppd、Jansson(用于请求 JSON 数据解析)和 libCurl 用于 HTTP 请求