Estoy intentando correr un CGI con puro Harbour, en una Raspberry Pi 3B con Debian
He instalado Apache2
He instalado los mod : header y cgi
He probado y funciona, el siguiente script, para descartar configuraciones de Apache
Código: Seleccionar todo
#!/bin/sh
echo "Content-Type: text/html\n\n"
echo "<h1>Hello world</h2>"
Código: Seleccionar todo
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
void main(void)
{
printf("Content-type:text/html\n\n");
printf("<HTML><HEAD><TITLE>Nombre</TITLE></HEAD>");
printf("<BODY BGCOLOR=\"#FFFFFF\"><P ALIGN=CENTER>");
printf("<BR>SERVER_NAME = %s", getenv("SERVER_NAME"));
printf("<BR>SERVER_SOFTWARE = %s", getenv("SERVER_SOFTWARE"));
printf("<BR>REQUEST_METHOD = %s", getenv("REQUEST_METHOD"));
printf("<BR>HTTP_REFERED = %s", getenv("HTTP_REFERED"));
printf("<BR>SCRIPT_NAME = %s", getenv("SCRIPT_NAME"));
printf("<BR>QUERY_STRING = %s", getenv("QUERY_STRING"));
printf("<BR>REMOTE_HOST = %s", getenv("REMOTE_HOST"));
printf("</P></BODY></HTML>");
}
El código PRG que estoy intentando es el siguiente :
Código: Seleccionar todo
function main()
local cOut
cOut := "Content-Type: text/html"+ hb_eol() + hb_eol()
cOut += "<h1>Hello world</h2>"+ hb_eol()
//fwrite(0, cOut )
OutStd( cOut )
return nil
Revisando el error.log de Apache
Código: Seleccionar todo
[http:error] [pid 1273:tid 1806656544] [client ::1:57902] AH02429: Response header '\x1b[0m\x1b[1;1H\x1b[?25hContent-Type' contains invalid characters, aborting request
He intentado guardar dicho PRG en distintos formatos, Unicodes UTF8 con BOM y sin él, ISOs, Windows... pero nada, la salida de la cadena 'Content-type' produce dichos carácteres en el header de la petición. Sin embargo, aparece correctamente si se ejecuta por cónsola.
Es posible que deba construir Harbour con 'algo' especial para la Raspi Debian ?