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!