1

我正在用 C++ 实现服务器。每当来自客户端的请求到来时,我都会解析该请求并检查该请求是否针对 GET/HEAD。如果请求是 GET 我必须显示文件的内容。我的问题是,如果是文本文件内容正确地出现在浏览器上,但如果是 html 文件请求,则浏览器显示 html 文件源代码。我需要一些提示或方向,如何显示 html 文件的内容?

代码片段:

if(c.r_type == "GET")
{
  ifstream file;
  char *readblock;
  size_t size;
  file.open(c.r_filename.c_str());
  if (send(c.r_acceptid,c.r_ctype.c_str(), strlen(c.r_ctype.c_str()), 0) == -1)
    perror("send");
  if (file.is_open())
  {
    file.seekg (0, ios::end);
    size = file.tellg();
    readblock = new char [size];
    file.seekg (0, ios::beg);
    file.read(readblock, size);
  }
      else
        cout<<"Never went Inside"<<endl;
  if (send(c.r_acceptid, readblock, size, 0) == -1)
       perror("send");
  file.close();
  delete [] readblock;
  close(c.r_acceptid);
}
4

0 回答 0