[질문]C언어를 사용하는 CGI프로그래밍..

leolo의 이미지

C언어로 CGI프로그래밍을 할려고 합니다..
간단히 설명을 드리면 이렇습니다.
임베디드보드에 thttp를 웹서버로 해서 CGI를 돌릴려고 합니다.
그런데, 문제는 제가 CGI를 하나도 모르기 때문에 어디서 어떻게
해야할지 모르겠습니다.

제가 궁금한 것은 임베디드보드의 static IP를 웹브라우저에
치면, 현재 임베디드보드에서 수행중인 어떠한 프로그램의
변수 값을 읽어서 form type이 text인 박스에 나타나게 하는 것입니다.
더불어서. text박스에 제가 원하는 값을 넣고 버튼을 누르면
임베디드보드에서 수행중인 어떠한 프로그램의 변수값으로 들어가는 겁니다.
대충 이렇게 돌아가게 만들어야 하는데.
이해가 가실런지 모르겠습니다.
대충.. 이와 관련된 폼이나 방식을 알려주셨으면 합니다.
참고로 저는 펄은 모릅니다...

현재 임베디드보드에 thttp를 돌리고 간단한 CGI는 돌아가는 상태입니다.

체스맨의 이미지

저도 CGI 를 잘 알진 못하지만,
CGI 프로그램에서는 표준 출력스트림이 브라우저가
읽어들일 웹페이지가 된다고 보시면 됩니다.

그래서, 간단하게는 printf 로 헤더 정보와 웹페이지를 출력하면 됩니다.
필요한 폼 등은 html 메뉴얼 등을 보시면 될 것 같구요.
그리고 웹상에서 CGI 관련 소스등을 구해보시면 됩니다.
http://cgi.resourceindex.com/
여기 C 로 된 소스도 좀 있네요.

Orion Project : http://orionids.org

지나가는새의 이미지

qdecoder를 사용하시면 쉽게 폼과 cgi를 연결하실 수 있습니다.
http://jkkang.net/qdecoder/qdecoder.html

대체로 C로 만든 cgi를 많이 혼동 하시는데요,

그냥 쉽게 html -> cgi -> html(cgi) 라고 생각하심 됩니다.

브라우저에서 클릭해서 인자를 cgi파일에 넘겨 주면, 넘어간 다음부터는 C 프로그램과 다르지 않습니다. 다만 결과값을 html로 다시 넘겨주는 부분정도가 추가 되는거라 생각하심 되겠습니다.

간단히 말해서, C로 만든 CGI의 영향은 system reboot 도 가능합니다. -_);;

Fever Pitch!

댓글 달기

Filtered HTML

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

BBCode

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param>
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

Textile

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • You can use Textile markup to format text.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Markdown

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • Quick Tips:
    • Two or more spaces at a line's end = Line break
    • Double returns = Paragraph
    • *Single asterisks* or _single underscores_ = Emphasis
    • **Double** or __double__ = Strong
    • This is [a link](http://the.link.example.com "The optional title text")
    For complete details on the Markdown syntax, see the Markdown documentation and Markdown Extra documentation for tables, footnotes, and more.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Plain text

  • HTML 태그를 사용할 수 없습니다.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 줄과 단락은 자동으로 분리됩니다.
댓글 첨부 파일
이 댓글에 이미지나 파일을 업로드 합니다.
파일 크기는 8 MB보다 작아야 합니다.
허용할 파일 형식: txt pdf doc xls gif jpg jpeg mp3 png rar zip.
CAPTCHA
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.