Задать вопрос
Lockdog
@Lockdog

Ошибка при выполнении CGI скрипта «premature end of script headers»

Прошу вашей помощи, хабравчане!
Поставил на машину Apache и на Си написал скрипт для удалённого управления домашним роботом.
#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
#include <string.h>
#include "PortDriver.h"

int main(void)
{
    HANDLE h;
    char *query;
    query=(char*)malloc(sizeof(char)*256);
    h=InitPort("\\\\.\\COM2",57600);
    query=getenv("QUERY_STRING");

    if (h==INVALID_HANDLE_VALUE)
    {
        printf("Error\n");
        return 0;
    }

    if (strstr(query,"COMM=W")!=0)
    {
        SendData(h,'W');

    }

    if (strstr(query,"COMM=A")!=0)
    {
        SendData(h,'A');

    }

    if (strstr(query,"COMM=S")!=0)
    {
        SendData(h,'S');

    }

    if (strstr(query,"COMM=D")!=0)
    {
        SendData(h,'D');

    }

    if (strstr(query,"COMM=Q")!=0)
    {
        SendData(h,'Q');

    }
    free(query);
    printf("Status: 204 No Change\n");
    return 0;
}

В браузере генерится страничка, куда я вывожу видео с камеры и обрабатываю клавиатуру. GET'ом отправляю команды на сервак, сам скрипт их обрабатывает, но в ответ приезжает страница с ошибкой, лог апача выдаёт: «premature end of script headers».
Что нужно сделать, чтобы после нажатия кнопки на клавиатуре и после выполнения скрипта страница в браузере не обновлялась и ничего другого не появлялось?
  • Вопрос задан
  • 5219 просмотров
Подписаться 2 Оценить Комментировать
Решения вопроса 1
kafeman
@kafeman
Заголовки должны заканчиваться \r\n\r\n.

Напимер:
printf("Content-type:text/plain\r\n\r\n");
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы