我正在使用 Cgicc ,它有一些方法来提取特定的请求 header ,例如getUserAgent 将返回“User-Agent” header 。
是否有一个通用方法可以返回任意 header 值,例如类似
getHeaderValue("x-my-header");
有没有办法使用 cgicc 做到这一点?如果不能用 cgicc 完成,我还能如何从 c++ 中的请求中提取自定义 header ?
最佳答案
不,cgicc 不直接支持这个。然而,它只是 CGI 的包装器。 http://en.wikipedia.org/wiki/Common_Gateway_Interface它在 CgiInput 中使用“getenv” 类提取 Web 服务器提供的所有信息。
因此,如果客户端发送一些 CgiCC 不直接支持但 Web 服务器支持的 header (比如 Accept-Encoding:
),您只需要阅读适当的
环境变量getenv("HTTP_ACCEPT_ENCODING")
但是你正在使用的网络服务器应该支持它
编辑: 实际上根据 CGI RFC http://www.ietf.org/rfc/rfc3875.txt Web 服务器应为您的示例提供环境变量:HTTP_X_MY_HEADER
关于c++ - 有没有办法用 cgicc 提取自定义请求 header ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/966520/