有没有办法用cgicc提取自定义请求标头

时间:2009-06-08 19:25:40

标签: c++ web-services web-applications

我正在使用Cgicc,它有一些提取特定请求标头的方法,例如getUserAgent将返回“User-Agent”标题。

是否存在可以返回任意标头值的通用方法,例如

之类的东西
getHeaderValue("x-my-header");

有没有办法用cgicc做到这一点?如果无法用cgicc完成,我怎样才能从c ++中的请求中提取自定义标题呢?

1 个答案:

答案 0 :(得分:3)

不,cgicc不直接支持这一点。但是,它只是CGI的一个包装器。 http://en.wikipedia.org/wiki/Common_Gateway_Interface它在CgiInput中使用“getenv” 用于提取Web服务器提供的所有信息的类。

因此,如果客户端发送一些CgiCC不直接支持但是得到Web服务器支持的标题(比如Accept-Encoding:),那么您只需要阅读适当的标题 环境变量getenv("HTTP_ACCEPT_ENCODING")

但它应该由您正在使用的Web服务器支持

编辑:实际上根据CGI RFC http://www.ietf.org/rfc/rfc3875.txt网络服务器应为您的示例提供环境变量:HTTP_X_MY_HEADER