1. 目的

使用MT7620N实现了WIFI探针,并将得到的数据通过HTTP POST方式发送到服务器。为了测试HTTP POST接口,所以使用Python实现一个简单的WEB服务器。

2. 实现方式

BaseHTTPServer模块

3. 功能简单实现

#!/usr/bin/python
# -*- coding:utf-8 -*-

__author__ = 'edward'

import os
import BaseHTTPServer
import json
import urlparse
import random
class RequestHandler(BaseHTTPServer.BaseHTTPRequestHandler):
    Page ="""\
    <htme>
    <body>
    <p>
    Hello,Web
    </p>
    </body>
    </html>
    """
    """
    处理GET请求
    """
    def do_GET(self):
        self.send_response(200)
        self.send_header("Content-Type","Text/html")
        self.send_header("Content-Length",str(len(self.Page)))
        self.end_headers()
        self.wfile.write(self.Page)

    """
    处理POST请求
    """
    def do_POST(self):
        print "do_POST"

        #读取数据长度
        length = int(self.headers.getheader("content-length"))
        print "Length = "+str(length)

        #读取数据
        self.data = self.rfile.read(length)

        #获取POST信息
        params = urlparse.parse_qs(self.data)
        for(d,x) in params.items():
            print "%s:%s" %(d,x)

        #对POST请求进行响应
        self.send_response(200)

        #将读取的到JSON数据使用json类解析
        self.data = json.loads(self.data)
        print self.data
        #解析数据,并得到相应字段的数据
        for info in self.data:
            print info['ssid']
            print info['bssid']
            print info['signal']
            print info['climac']
            print info['time']
            print info['devmac']

if __name__ == '__main__':
    serverAddress = ('',8080)
    server = BaseHTTPServer.HTTPServer(serverAddress,RequestHandler)
    server.serve_forever()
Logo

CSDN联合极客时间,共同打造面向开发者的精品内容学习社区,助力成长!

更多推荐