[python] 一个简单的httpserver程序
#!/usr/bin/python# -*- coding: utf-8 -*-# 声明源码的编码方式位utf-8import sysfrom BaseHTTPServer import HTTPServerfrom BaseHTTPServer import BaseHTTPRequestHandlerclass simpleHttpHandler(BaseHTTPRequestHandler)
·
#!/usr/bin/python
# -*- coding: utf-8 -*-
# 声明源码的编码方式位utf-8
import sys
from BaseHTTPServer import HTTPServer
from BaseHTTPServer import BaseHTTPRequestHandler
class simpleHttpHandler(BaseHTTPRequestHandler):
def do_GET(self):
# 响应成功
self.send_response(200)
encode = "UTF-8"
self.send_header("Content-Type", "text/html:charset=%s" % encode)
# 读取文件,发送文件内容
f = open("./simple_file.txt", "r")
strs = f.read()
self.send_header("Content-Length", str(len(strs)))
self.end_headers()
self.wfile.write(strs)
def do_POST(self):
# 响应成功
self.send_response(200)
encode = "UTF-8"
self.send_header("Content-Type", "text/html:charset=%s" % encode)
# 读取文件,发送文件内容
f = open("./simple_file.txt", "r")
strs = f.read()
self.send_header("Content-Length", str(len(strs)))
self.end_headers()
self.wfile.write(strs)
# 从缓冲区中读,并输出到屏幕
length = int(self.headers.getheader("content-length"))
content = self.rfile.read(length)
print("Content-Length="+str(length))
print(content)
# 端口 9090
def StartServer():
httpd = HTTPServer(('', 9090), simpleHttpHandler)
print("Server started port 9090.....")
httpd.serve_forever()
if __name__ == '__main__':
StartServer()
客户端测试脚本
- 测试GET请求
curl http://127.0.0.1:9090
- 测试POST请求
curl - X POST http://127.0.0.1:9090 -d 'Hello Kitty'
另外也要往 simple_file.txt 文件中填充要返回的内容
更多推荐
已为社区贡献2条内容
所有评论(0)