CHttpServer::AddHeader
void AddHeader(CHttpServerContext* pCtxt, LPCTSTR pszString) const;
参数:
pCtxt
一个指向CHttpServerContext对象的指针。
pszString
一个指向字符串的指针。
说明:
调用此成员函数,在回答发送给服务器之前往回答中添加标题。当它收到CHt-tpServerContext::ServerSupportFunctionHSE_REQ_SEND_RESPONSE_HEADERS时,使用AddHeader 来往服务器提供的标题中添加你自己的标题。特殊标题将给客户提供更多的信息。
例如,调用AddHeader来确定你自己的“内容类型”,然后调用它来确定编码,然后再调用一次来插入“内容长度”标题。当已调用完你所需次数的AddHeader后,使用<<来将输出组织为流,直到你做完为止。
注意:
一旦你已往服务器上下文的HTML流中输了数据,就不能再次调用AddHeader。如果这样,你的HTML流将不能正常工作。
示例:
The following code demonstrates how to use AddHeader to add a customer header.
In this instance customer headers represents a cookie.
szCookie is supplied in the request in following fashion:
http://server/scripts/MfcCookie.dll?SetCookie?cookie=Hello
BEGIN_PARSE_MAP(CMfcCookieExtension, CHttpServer)
...
ON_PARSE_COMMAND(SetCookie, CMfcCookieExtension, ITS_PSTR)
ON_PARSE_COMMAND_PARAMS ("cookie")
...
END_PARSE_MAP(CMfcCookieExtension)
void CMfcCookieExtension::SetCookie(CHttpServerContext* pCtxt, LPCTSTR szCookie)
{
char szHeader[256];
StartContent(pCtxt);
wsprintf (szHeader, "Set-Cookie: LeonBrCookie=%s;"
" expires=Friday, 22-May-99 13:00:00 GMT; path=/;\r\n", szCookie);
AddHeader(pCtxt, szHeader);
AddHeader(pCtxt, "Expires: 0\r\n");
*pCtxt <<"Cookie name/value: <b>"<< szHeader <<"</b> is set <br>";
EndContent(pCtxt);
}
下面是构造一个Web页面的函数示例:
void CHelloExtension::Default(CHttpServerContext* pCtxt)
{
AddHeader(pCtxt, "Content-type = text/plain\r\n");
(*pCtxt) << "Hello world!\r\n";
}
请参阅:
CHttpServerContext
,
CHttpServerContext::ServerSupportFunction