delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp/1999/10/11/23:03:15

Sender: ab AT bspu DOT unibel DOT by
Message-ID: <3801EC95.41F88309@bspu.unibel.by>
Date: Mon, 11 Oct 1999 16:56:37 +0300
From: Alexander Bokovoy <bokovoy AT bspu DOT unibel DOT by>
Organization: BSPU named after Maxim Tank
X-Mailer: Mozilla 4.61 [en] (X11; I; Linux 2.2.11 i586)
X-Accept-Language: en
MIME-Version: 1.0
To: djgpp AT delorie DOT com
Subject: Re: Question regarding CGI
References: <199910110416 DOT HAA05344 AT ankara DOT Foo DOT COM>
Reply-To: djgpp AT delorie DOT com

"S. M. Halloran" wrote:
> 
> >
> > Been using djgpp for a little while now on windows nt.
> > Today I decided to try to write a CGI application to use via
> > Windows NT's Peer web service's web server. The code ( fairly
> > simplistic, included below ). I get an error when I try to run
> > it, claiming that the application didn't return the proper http
> > headers, it then includes nothing as the error.
> > I compiled the same code under Visual C++ on my work PC, and
> > it runs fine... what gives ?
> >
> > I couldn't find any references to CGI or problems related to it
> > in the DJGPP FAQ.
> >
> > TIA !
> >
> >
> > - Bub
> >
> > /*----------- foo.c --------------------
> >    cgi app that prints blah blah in red
> > */
> >
> > #include <stdio.h>
> >
> > int
> > main(int argc, char **argv)
> > {
> >   fprintf(stdout,"Content-Type: text/html\n\n");
>                                            ^^^^^
> Try this: "Content-Type: text/html\r\n\r\n"
> Read the RFCs on HTTP 1.0 and 1.1 so that you understand why.
> 
> You should also be aware of your server's capabilities.  The server must lead
> the response to the client with a 3-digit code and an optional message,
> followed by valid HTTP headers, and then the message body.  If your CGI app is
> expected to supply all headers and the server merely transfers the output, you
> may have to supply an entire response that conforms with HTTP.  If so, then
> know the spec.
> 
> The Visual C++ compiler may be translating the '\n' as '\r\n' for you.  Try
> this:  instead of stdout, save to a file the DJGPP- and Visual C++ output and
> look at it with a binary editor (such as MS-DOS Edit with the 'open binary'
> checked).
The main problem is that most of Windows HTTP-servers could not execute
DOS-based CGIs. DJGPP is not an environment that can be used for CGI
programming under Windows. Use CygWin instead.
-- 
Sincerely yours, 
Alexander Bokovoy 
<!-- 2:450/144.58 --- bokovoyATminsk.lug.net --- FractalsAtTheEdge -->

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019