我正在使用Cgicc,它有一些提取特定请求标头的方法,例如getUserAgent将返回“User-Agent”标题。
是否存在可以返回任意标头值的通用方法,例如
之类的东西getHeaderValue("x-my-header");
有没有办法用cgicc做到这一点?如果无法用cgicc完成,我怎样才能从c ++中的请求中提取自定义标题呢?
答案 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