글쓴이: 익명 사용자 / 작성시간: 화, 2002/02/26 - 11:47오후
CGI를 C언어를 이용해서 구현하려고 합니다. 그런데 웹서버에서 HTML같
은경우는 웹서버(아파치같은 경우에) 설정파일에서 IndexRoot에서
index.html처럼 그냥 불러주면 되지만 exe파일은 이렇게 부르게 되면
웹서버 실행하면 http로 들어가는게 아니라 파일 다운로드(ftp?;;;)가
됩니다. c로 작성한 프로그램은 어떻게 해야 webserver와 연동할수 있는
지요...제발 도와주십시요...ㅠ.ㅠ
Re: CGI를 C로 구현하려고 하는데 C프로그램을 어떻게 삽입해야
c로 cgi를 만들어 보지는 않았지만.. 혹 이런문제는 아닐까 하는 생각이
들어 몇자 적어 봅니다.
다운받은 파일이 바이너리 그 자체인가, 결과 값인가?
ㅡ. 바이너리일 경우는 그 파일이 실행되도록 하면 되겠군요.. 아마도
httpd.conf에서 설정하게 되어 있지 않을까요??
ㅡ. 결과 값인 경우.. HTTP 프로토콜의 content-type을 살펴보시면 되겠군
요.. 아마도 헤더로 "content-type text/html; charset=euc-kr"을 날려주
시면.. 될듯..
Re: CGI를 C로 구현하려고 하는데 C프로그램을 어떻게 삽입해야
기본으로 설정되어 있을겁니다.
.cgi 는 다 실행됩니다. index.cgi 는 기본적으로 열립니다.
.exe 가 아닙니다.
test.c 소스를 gcc -o index.cgi test.c 이렇식으로
test.c 소스를 gcc -o index.cgi test.c 이렇식으로 하는건가요?
오늘 하루두 즐거운 하루였으면 좋겠습니다.
[quote="hurricanepark"]test.c 소스를 gcc -o
넵!
작성한 프로그램의 문제가 아닌, Web server 설정에 따라 다릅니다
작성한 프로그램의 문제가 아닌, Web server 설정에 따라 다릅니다. 보통 두 가지 방식이 있는데, 한 가지는 특정 디렉토리 (예 /cgi-bin/) 밑에 있는 파일을 모두 CGI 프로그램으로 인식하게 하는 방법이 있고, 또 하나는 파일의 특정 확장자 (예 .cgi)를 보고 CGI 프로그램으로 인식하게 하는 방법이 있습니다. (물론 Web server에 따라 다른 방법도 있습니다.)
서버의 사용자를 모두 신뢰할 수 있다면, .cgi 파일이 모두 CGI 프로그램으로 인식하게 설정하면, 개발이 쉽습니다.
따라서 말씀하신 것처럼 "gcc -o index.cgi. test.c"로 충분합니다. 주의할 것은, 권한 문제인데, CGI 프로그램이 실행된 프로세스는 소유자가 web server 프로세스라는 것입니다. 따라서 파일을 생성하고/쓰고/지우는 연산등을 수행할 때, 권한이 없어서 실패하는 등의 문제가 발생하지 않도록 해 주어야 합니다.
C FAQ: http://www.eskimo.com/~scs/C-faq/top.html
Korean Ver: http://cinsk.github.io/cfaqs/
QDecoder라는 한국에서 만든 라이브러리를 이용하면 편하게 작업 하실
QDecoder라는 한국에서 만든 라이브러리를 이용하면 편하게 작업 하실수 있을 듯 하네요.
html 변환 라이브러리가 좋은게 많아요. C를 사용하시면 이용하시면 편할 것입니다.
http://www.qdecoder.org/
https://github.com/la9527
친절한 답변들 너무 감사드립니다.
친절한 답변들 너무 감사드립니다.
오늘 하루두 즐거운 하루였으면 좋겠습니다.
댓글 달기