레드햇 7.2 에서 c 로 cgi짜는데
아파치 ExecCGI 넣구..
printf("Content-type: text/html");
이렇게 넣어 줬는데
http://myip/index.cgi
이렇게 하면 브라우저에
?ELF`?4`?4????t??h??h?? Content-type: text/html
<html>
blar~~blar
</html>
이렇게 보이구요 </html> 뒤에도 이상한거 붙어요 ㅠ.ㅠ
왜 이렇게 나올까요 ㅠ.ㅠ
참고로 소스도 붙일께요...
#include <stdio.h>
int main() {
printf("Content-type: text/html");
printf("<html>");
printf("<head>");
printf("<meta HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=EUC-KR">");
printf("<title>welcome to test home~~~</title>");
printf("</head>");
printf("<body>");
printf("우앙~~ 잘 보여쑤면 조켄눈뎅..");
printf("</body>");
printf("</html>");
return(0);
}
cgi고수님들 좀 도와 주세여~~ ㅠ.ㅠ
--
삽질은 언제까정..
CGI 출력에서 ELF 바이너리 문자가 보이는 것은 C 프로그램 자체를 웹에 보냈기 때문입니다. 웹 서버는 실행 파일을 CGI 로 실행하지만, 이 경우 Content-type 줄을 빈 줄로 끝내야 헤더가 끝납니다. printf 에서 헤더 줄 뒤에 빈 줄을 하나 넣어 헤더와 본문을 구분하고, HTML 문자열 안의 큰따옴표는 작은따옴표로 바꿔 쓰거나 이스케이프해서 넣으세요.