如何获得与c的http连接中的特殊内容类型?

时间:2018-10-30 08:03:53

标签: c http

现在,我可以按http-parser解析所有http连接流。我想获取内容类型为text/htmltext/xml的网址。

如何获取?网址在请求中,但内容类型始终在响应头中。

我不知道响应如何匹配请求。

我已经用这种方式捆绑了,使用url后缀来确保url是html,但是失败了。

const char *strSuffix[] = {
    ".html",
    ".htm",
    ".xml",
    ".jsp",
    ".shtml"
};
for(i = 0;i < ARRAY_SIZE(strSuffix);i++)
    if((tmp = strstr(messages[0].request_url,strSuffix[i])) != NULL)

1 个答案:

答案 0 :(得分:0)

基本上,您需要检查环境中的REQUEST_METHODCONTENT_TYPE

类似这样的东西(未经测试):

char *request_method = getenv("REQUEST_METHOD") ;
if (strcmp(request_method, "POST") == 0) {
    if (strstr(getenv("CONTENT_TYPE"), "text/xml")) {
        ...
    } else
    if (strstr(getenv("CONTENT_TYPE"), "text/html")) {
        ...
    } ...