Как показать HTML-файл через сокет программирования на сервере - PullRequest
0 голосов
/ 04 мая 2019

Я хочу показать файл html (этот файл имеет результат ls по таблице) на сервере.Я делаю на Ubuntu 16.04 LTS с языком C.

Я проверял это.

sprintf(response_message, "<h1>RESPONSE</h1><br>"
                          "HELLO %s:%d<br>"
                          "%s", inet_ntoa(inet_client_address), 
                          client_addr.sin_port, url);
sprintf(response_header, "HTTP/1.0 200 OK\r\r"
                         "Server: 2019 simple web server\r\n"
                         "Content-length:%lu\r\n" "Content- 
                         type:text/html\r\n\r\n", strlen(response_message));

write(client_fd, response_header, strlen(response_header));
write(client_fd, response_message, strlen(response_message));

Это показало HTML на сервере.

Я хочу попробовать это.

FILE *file = fopen("html_ls.html", "w");
  if(file == 0){
    printf("File size is o\n");
    return -1;
}
fputs("<html>\n<body><h1>", file);
  for(int i=0; i<argc; i++){
    fputs(argv[i], file);
    fputs("&nbsp;", file);
  }
  fputs("</h1>\n", file);

, а затем, что-то вроде этого.

sprintf(response_message, "<h1>RESPONSE</h1><br>"
                          "%s", file);

sprintf(response_header, "HTTP/1.0 200 OK\r\r"
                         "Server: 2019 simple web server\r\n"
                         "Content-length:%lu\r\n" "Content- 
                          type:text/html\r\n\r\n", strlen(response_message));

write(client_fd, response_header, strlen(response_header));
write(client_fd, file, 5);

Есть ли какое-либо решение, которое я могу использовать указатель файла в функции записи?

write(client_fd, file, 5);

причина, почему яя пытаюсь это сделать, мой HTML-код слишком длинный для ввода в .c файл.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...