#!/usr/bin/env python
# -*- coding: utf-8 -*-
from wsgiref.simple_server import make_server, WSGIRequestHandler
import urlparse
html_index = '<html><body>hello</body></html>'
def appl(environ,start_response):
path = environ['PATH_INFO']
method = environ['REQUEST_METHOD']
if method=='GET':
query = dict(urlparse.parse_qsl(environ.get('QUERY_STRING','')))
if method=='POST':
ro = environ['wsgi.input']
length = int(environ.get('CONTENT_LENGTH', 0))
query = dict(urlparse.parse_qsl(ro.read(length)))
if path=='/' and method=='GET':
response_headers = [('Content-Type', 'text/html'),
('Content-Length', str(len(html_index)))]
start_response('200 OK', response_headers)
return [html_index]
if path=='/' and method=='POST':
start_responce('303 See Other', [('Location', '/')])
return []
start_response('404 Not Found', [])
return []
# DNS逆名前解決しない
class myHandler(WSGIRequestHandler):
def address_string(self):
return self.client_address[0]
httpd = make_server('0.0.0.0', 80, appl, handler_class=myHandler)
httpd.serve_forever()
2013年3月12日火曜日
python httpサーバ(wsgi編)
登録:
コメントの投稿 (Atom)
0 件のコメント:
コメントを投稿