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);
}