WEB2 - Python

활용 - CGI 소개

수업소개

CGI(Common Gateway Interface)가 무엇인지 알아봅니다. 

 

 

강의

 

 

소스코드

cgi_env.py 

#!/usr/local/bin/python3
print("Content-Type: text/html")
print()
import cgi
cgi.test()

 

cgi_env.php

<?php
print_r($_SERVER);
?>

 

댓글

댓글 본문
  1. 코딩척척석사
    2023.03.15
  2. 윤재승
    언어와 상관없이 약속이다
  3. labis98
    2022.02.20 좋은 강의 한번 더 들어요~~~!
  4. pmxsg
    2022.02.04
  5. labis98
    20220107 좋은 강의 감사합니다.
  6. Haein
    10.26완료
  7. 야옹스
    20211012 웹서버와 어플리케이션 간의 약속
  8. 2021.09.10 완료
  9. 초딩 개발자
    2021/05/09
  10. jeisyoon
    2021.04.08 CGI 소개 -OK
  11. Americano
    21.03.02
  12. younghwani
    오 재밌어요!
  13. 설레는 흑염룡
    설렌다 설렌다 쿠왕아앙
  14. 박민지
    2021.01.11
  15. hksap
    210101
  16. park
    2020.10.12
  17. dagel0102
    20.10.09
  18. cgoing
    cgoing / 2020.10.02
  19. jiyeong
    2020.09.01.
  20. OneJae EE
    20.05.02 토 / 37세 비전공자 / 완료
  21. [Wed Apr 08 06:59:32.157777 2020] [cgi:error] [pid 4364:tid 1240] [client 127.0.0.1:50483] AH01215: \r: C:/Bitnami/wampstack-7.3.13-0/apache2/htdocs/\xed\x94\x8c\xeb\xa0\x8c\xec\xa7\x80 \xeb\x91\x90\xea\xbb\x98/web/server.py, referer: http://127.0.0.1......eb/
    해결방법 좀 알려주세요!
  22. 악어
    20200308 완료
  23. 스티븐잡숴
    완료
  24. apldeap
    12/25
  25. xuanxi
    20191125
  26. 쑤우
    수강완료. 감사합니다.
  27. 굼벵이
    완료
  28. 20191004 Ted 완료!
  29. 파이썬이란..
    저도 똑같은 문제를 고민 중인데 혹시 해답 찾으셨나요?
    decode('utf-8','replace') 도 해보고 from_encoding = 'utf-8'
    'euc-k' 'cp948' 아니면 코드 처음에 주석으로 하는거 다 해봤는데 한글이 깨지더라구요 ㅠㅠ
    혹시 해답 찾으셨으면 답변 부탁드려요 ㅠ
    대화보기
    • JuicyFresh
      감사합니다.
    • 명쾌상쾌통쾌
      엄청 기분 좋아요.
      CGI나 WSGI 관련 글들 엄청 많이 존재하지만, 읽어도 읽어도 애매한데, 이런 방식으로 설명을 들으니까 엄청 명쾌하네요
    • Seankim
      cgi
    • 왕초보...
      이름자체로도 달라지나요 처음에 cgi.py로만 입력해서 했는데 content-type: text/html" 이문장이 나왔는데 envy를 붙이니까 똑같이 되더라고요 python에서는 파일명 자체로도 틀려지나요??
    • 황금붕어
      #!python
      print("content-type:text/html; charset=euc-kr\n")

      import cgi
      form = cgi.FieldStorage()
      pageId = form["id"].value

      인코딩 charset=euc-kr 을 추가 해서 해보세요
      대화보기
      • 최동희
        CGI 검색해보니, 오래된 길고 어려운 이런 설명이 있네요. 컴퓨터 기술 기반에 대해 좀 더 경험이 있고, 궁금하신 분은 참고하시라고 주소 적어둡니다. http://qaos.com......=10
      • 디디
        윈도우에서 한글이 깨져서 나온다면,
        sys.stdout = codecs.getwriter("utf-8")(sys.stdout.detach())
        이 라인을 추가해보세요.

        아래 블로그에서 자세하게 나와있습니다.
        https://blog.ayukawa.kr......342
        대화보기
        • godkhj@naver.com
          #!C:\Program Files (x86)\Python36-32\python.exe
          print("content-type: text/html;")
          print()
          import cgi
          import chardet
          import requests
          from bs4 import BeautifulSoup
          response = requests.get("http://naver.com")
          print(response.encoding) #utf-8 이라고 나옴
          soup = BeautifulSoup(response.content,'lxml')
          print("네이버")
          for tag in soup.select('span[class=ah_k]'):
          print(tag.text + "<br>")

          print('''<!doctype html>
          <html>
          <head>
          <title>WEB1 - Welcome</title>
          <meta charset="utf-8">
          </head>
          <body>
          <h1><a href="index.html">WEB</a></h1>
          <ol>
          <li><a href="1.html">HTML</a></li>
          <li><a href="2.html">CSS</a></li>
          <li><a href="3.html">JavaScript</a></li>
          </ol>
          <h2>WEB</h2>
          <p>The World Wide Web (abbreviated WWW or the Web) is an information space where documents and other web resources are identified by Uniform Resource Locators (URLs), interlinked by hypertext links, and can be accessed via the Internet.[1] English scientist Tim Berners-Lee invented the World Wide Web in 1989. He wrote the first web browser computer program in 1990 while employed at CERN in Switzerland.[2][3] The Web browser was released outside of CERN in 1991, first to other research institutions starting in January 1991 and to the general public on the Internet in August 1991.
          </p>
          </body>
          </html>
          ''')

          네이버에서 실시간 검색어를 뽑아셔 출력해볼려고 했더니
          한글이 모두 깨져나와서요
          혹시 이거 해결해보신분 계신가요?
        • PassionOfStudy
          2018-03-27 - 2일차_다섯번째 수강완료!

          CGI(Common Gateway Interface)
          공용 게이트웨이 인터페이스(영어: Common Gateway Interface; CGI)는 웹 서버 상에서 사용자 프로그램을 동작시키기 위한 조합이다. 존재하는 많은 웹 서버 프로그램은 CGI의 기능을 이용할 수 있다.
          사전적인 의미를 찾아보았습니다.

          CGI는 웹서버가 사용자 요청을 받았을 경우 요청에 관련하여 이러한
          처리를 할 수 있도록 QUERY_STRING과 같은 약속된 환경변수에 데이터를 담아주는 역할을 한다.

          서로 다른 어플리케이션 또는 서버간에 통신을 위한 약속 정도로 이해하고 넘어가겠습니다. ^_^
        • 마샤
          실습 따라하던 중 문제가 생겨서 끙끙대다 다시 봤더니 쉬뱅(shebang)을 잘못 적어서 생긴 문제였더군요

          틀린 것 !#/usr/local/bin/python3
          맞는 것 #!/usr/local/bin/python3

          미세한 오타 하나가 프로그램 구동하냐 마냐를 결정한다는 걸 또 배우는 귀한 강의였습니다.
        • 폭스킴
          CGI 말만 들어봤는데, 정말 유익했습니다~ 어떠한 학문이든지 역사나 개념에 대한 이해가 굉장히 중요한데, 앞으로 배우는데 있어서 중요한 길잡이가 되어 줄 좋은 강의였습니다~ 감사해요. ^^
        graphittie 자세히 보기