Python入門チュートリアル:SocketにおけるGet/Postメソッドの連用
2600 ワード
ブラウザで直接テストしたり、curlを使ったりすることができます.
curl -d 'input=Input data' -X POST localhost:8000
Pythonソース
#/usr/bin/env python
# -*- coding: utf-8 -*-
import socket
import sys
import requests
HOST, PORT = '', 8000
class Util():
def dealConnection(self, conn):
request = conn.recv(1024)
print ''.join('> {line}
'.format(line=line)
for line in request.splitlines())
data = request.split('\r
\r
')
headers = data[0].splitlines()
body = data[1]
header = headers[0].rstrip('\r
')
method, url, protcl = header.split()
for h in headers[1:]:
key,value = h.split(u': ')
if key == 'Content-Length':
content_len = value
if method == 'POST':
response = Util().do_POST(conn, body, content_len)
else:
response = '''\
HTTP/1.1 200 OK
A webserver powered by Python
Hello, world!