CLIENT
-------------------------------------------------------------------------------------------
#-*- coding:euc-kr -*-
import httplib, urllib
import sys
def conn(msg):
params = urllib.urlencode({'msg':msg})
headers = {"Content-type": "application/x-www-form-urlencoded",
"Accept": "text/xml"}
conn = httplib.HTTPConnection('127.0.0.1','10001')
conn.request("GET", '/', params, headers)
rsp = conn.getresponse()
print rsp.read()
print 'END'
if __name__ == '__main__':
if len(sys.argv) == 2:
msg = sys.argv[1]
conn(msg)
else:
print 'Invalid args'
-------------------------------------------------------------------------------------------
SERVER
-------------------------------------------------------------------------------------------
#-*- coding:euc-kr -*-
from BaseHTTPServer import HTTPServer, BaseHTTPRequestHandler
from SocketServer import ForkingMixIn
from urllib import unquote_plus
class ForkingHTTPServer(ForkingMixIn, HTTPServer):
pass
class MyHTTPHandler(BaseHTTPRequestHandler):
def do_GET(self):
length = int(self.headers.getheader('content-length'))
raw = self.rfile.read(length)
msg = unquote_plus(raw.split('=')[1])
print msg
self.send_response(200)
self.send_header('Content-type', 'text/xml')
self.send_header('Content-length', str(len(msg)))
self.end_headers()
self.wfile.write(msg)
self.wfile.close()
if __name__ == '__main__':
print 'START ForkingHTTPServer'
server = ForkingHTTPServer(('127.0.0.1',10001), MyHTTPHandler)
server.serve_forever()
-------------------------------------------------------------------------------------------
댓글 없음:
댓글 쓰기