본문 바로가기

IT/Python

SimpleHTTPAuthServer로 간단하게 HTTP 서버 구축하기 /* written by kaspy (kaspyx@gmail.com)*/ 파이썬 SimpleHTTPAuthServer를 이용해서 간단한 HTTP서버를 구축해보도록하자. 서버 내부 파일 다운로드가 필요하면서 인증이 필요한 환경이라면 사용해도 좋을것이다. 해당 파이썬 라이브러리는 아래 URL에서 다운로드 받을수 있다. - 다운로드 URL https://gist.github.com/fxsjy/5465353 - pip 으로 설치하기 pip install git+git://github.com/tianhuil/SimpleHTTPAuthServer.git@master - 사용법 mkdir "공유할 디렉토리"cd "공유할 디렉토리"python -m SimpleHTTPAuthServer portnumber userid:.. 더보기
파이썬 장고(Django) - MTV 패턴을 통한 웹서버 개발하기 /* written by kaspy (kaspyx@gmail.com)*/ 저번 포스팅에 이어서 이번에는 장고(Django)를 이용해서 웹페이지를 추가하고 이에대한 요청을 처리하는 웹페이지를 만드는 과정을 다루어보도록하겠습니다. 구현된 소스코드에는 자세히 다루지는 않겠지만 따라하기만 해도 어느정도 이해하는데 도움이 될것으로 생각합니다. 개발 환경은 Ubuntu Linux 16.04 기준 1. 기본 프로젝트 및 구조 생성하기 우선 장고를 사용한 웹서버 구축하기를 먼저보고 오는게 좋을것이다. - link 1) 프로젝트 생성 웹서버라면 제공하는 서비스에따라 다양한 요청을 처리할수있어야한다. 우선 프로젝트를 추가하고 어플리케이션을 추가하도록 하겠다. 이번 포스팅에서는 설문조사를 하는 사이트를 만들어보도록 하겠다... 더보기
파이썬 장고(Django)를 사용한 웹서버 구축하기 /* written by kaspy (kaspyx@gmail.com)*/ 장고(Django)란 파이썬으로 구현된 웹 개발 프레임워크로 무료 오픈소스로 배포되며 웹서버 개발 및 관리가 용이한 장점을 가지고있습니다. 이번 포스팅에서는 리눅스(Ubuntu) 환경에서 장고를 설치하고 간단한 웹서버를 만드는내용을 다루도록 하겠습니다. 장고를 사용한 웹서버 구축은 정말이지 쉽다~!! 1. 장고(Django) 설치하기 sudo apt-get install python-django 장고가 잘 설치되었으면 python 명령어를 실행하여 Django 버젼을 확인할수있다. pythonimport djangoprint django.get_version() kaspyx@kaspyx-Virtual-Machine:~$ python.. 더보기
파이썬(python)을 사용하여 프로그램에 입력값 넘겨주기 /* written by kaspy (kaspyx@gmail.com)*/ 파이썬을 사용하여 리눅스 및 윈도우의 콘솔 프로그램을 통해 입력 인자를 보다 편리하게 넘겨줄수 있다. 이방법은 보통 S/W 결함 및 Security 테스팅 등에 사용된다. 1. gets() 또는 scanf() 함수 등에 넘길때 #include int main(){ char buf[32]; gets(buf); printf("You enterd string 1: %s\n",buf);}// gcc -o gets_test gets_test.c 위와 같은 코드에 파이썬(python) 스크립트를 사용하여 입력 인자를 넘길수 있다. (python -c 'print "a"*4';cat) | ./gets_test 만약 입력 함수가 여러개라면?? #.. 더보기
파이썬(python) getopt 함수 사용하기 /* written by kaspy (kaspyx@gmail.com)*/ 콘솔용 프로그램을 작성하다보면 같이 입력되는 명령어 인자(파라미터)들을 다루는데 많은 귀찮은 작업이 필요합니다. 여기서 인자들이란 아래와 같이 #-i : 입력 파일 이름#-o : 출력 파일 이름#-c : 특정 조건을 수행하라는 옵션 python example.py -i inputname -o outputname -c 위와 같은 옵션을 처리해야하는 프로그램이라면 sys.argv[1:]의 인자를 파싱해가며 처리해줘야합니다. 이를 좀더 편하게 하기위한 getopt 함수를 사용해봅시다.(설명이 귀찮으면 바로 예제코드 복붙해서 테스트해도 좋은방법입니다) 아래는 getopt 함수의 레퍼런스 입니다. 리턴값은 첫번째 옵션, 그리고 옵션 값으로 .. 더보기
파이썬 웹서버 모듈(BaseHTTPServer, SimpleHTTPServer) 사용하기 /* written by kaspy (kaspyx@gmail.com)*/ 파이썬(Python)을 사용해서 간단하게 웹서버를 구축할수 있습니다. 이번 포스팅에서는 파이썬을 이용해서 웹서버를 구축하는 내용을 다루도록 하겠습니다. * 웹서버용 파이썬 라이브러리 모듈(세번째 CGIHTTServer 모듈은 다음 포스팅에 다루도록한다.) python -m SimpleHTTPServer 8888 #아래는 동일한 명령어 python -c 'import SimpleHTTPServer; SimpleHTTPServer.test()' 8888 파이썬 명령어를 실행한 모습웹서버에 접속했을때 모습* 참고 자료django로 배우는 쉽고 빠른 파이썬 웹프로그래밍 더보기
파이썬 웹프로그래밍 - 이미지 다운로드 (urllib2, httplib) 소스 /* written by kaspy (kaspyx@gmail.com)*/ 파이썬은 코드가 간단하면서 어렵지않고 유용한 기능이 많다. 이번 포스팅에서는 파이썬에서 특정 웹사이트에 접속하여 이미지만 추출해서 다운로드하는 코드를 소개하겠다. 1. urllib2 모듈 예제 아래 코드는 네이버 웹사이트에 접속해서 그림 (img tag) URL을 보여주는 파이썬 코드이다. #!/usr/bin/env pythonfrom urllib2 import urlopenfrom HTMLParser import HTMLParser class ImageParser(HTMLParser): def handle_starttag(self, tag, attrs): if tag != 'img': return if not hasattr(sel.. 더보기
파이썬 웹프로그래밍 - 웹 모듈 urlparse 예제 /* written by kaspy (kaspyx@gmail.com)*/ * urlparse 모듈은 주로 웹클라이언트 단에서 사용되는 parser 모듈이다. 1. urlparse 모듈이 모듈은 URL의 분해, 조립, 변경 등을 처리하는 함수를 제공하며, parse한 결과를 리턴한다. from urlparse import urlparse result = urlparse("http://www.python.org:80:80/guido/python.html;philosophy?overall=3#n10") result ParseResult(scheme='http',netloc='www.python.org:80:80',path='/guido/python.html', params='philosophy', query=.. 더보기
파이썬 웹표준 라이브러리 소개 및 변경사항 /* written by kaspy (kaspyx@gmail.com)*/ 파이썬은 버전에 따라 크게 2.x와 3.x로 나뉜다. 함수와 클래스등은 거의 동일하지만, 패키지명과 모듈명이 재구성 되었다고한다. 또한 웹 어플리케이션에 사용되는 라이브러리는 웹 클라이언트용 API와 웹서버 API로 나뉜다. * 파이썬 3.x 와 2.x 표준 라이버리 모듈 구성 변경사항(빨강색 음영은 클라이언트단, 파랑색 음영은 서버단임은 참고) 파이썬 3.x 모듈명 파이썬 2.x 모듈명 파이썬 3.x 에서의 변화 urllib.parse urlparse urllib 일부 하나의 urllib 패키지로 모아 모듈을 기능별로 나눔 urllib.request urllib2 대부분 urllib 일부 urllib.error urllib2 대부.. 더보기
윈도우(Windows) 환경에서 파이썬(Python) 개발환경 구축하기 윈도우즈 환경에서 파이썬 애플리케이션 개발과 디버깅을 빠르게 수행하려면 IDE와 파이썬 인터프리터가 설치 되어야한다. 이클립스(Eclipse)환경에서 설치가 됬다는 전제하에 설명 하겠다.우선 이클립스를 다운받는다. 이클립스는 별도의 설치과정이 없고 압축을 풀어서 사용하기 때문에 굉장히 편한거같다. 이클립스 (Ecplise) 다운로드 사이트(http://www.eclipse.org/downloads/) http://www.eclipse.org/downloads/download.php?file=/eclipse/downloads/drops4/R-4.1.2-201202230900/eclipse-SDK-4.1.2-win32.zip 다운로드가 완료되었으면 이클립스를실행시키자Help 메뉴의 Install New So.. 더보기