制作客户端前端APP时一般需要与后端服务器进行通讯,且一般使用JSON格式交换数据

有时后端提供的数据来自爬虫爬取其他服务器获得,这时用Python作为后端编写语言便可以非常方便的爬取其他网站的数据并转换为json提供给客户端

但要让Python支持Web访问必须安装使用一些额外的模块

Tornado就是其中极其好用的一个

安装Tornado

安装Tornado模块非常方便

直接在CMD或者Terminal中运行下面的代码即可

pip install tornado

编写服务器配置代码

作为一个Python模块,Tornado的配置和运行都与Python脚本融为一体

Tornado将客户端可以访问的每一个页面抽离为一个类,其中有get和post两个方法,分别用于处理get请求和post请求

示例代码如下:

class IndexHandler(RequestHandler):
    #添加一个处理get请求方式的方法
    def get(self):
        #获取get请求传输的username的值
        username = self.get_query_argument("username")
        #向客户端输出username
        self.write(username)

但需要注意的是,操作前应该import相关的库文件

from tornado.web import Application, RequestHandler, url
from tornado.ioloop import IOLoop
from tornado.httpserver import HTTPServer
import os

定义完每个页面单独的处理器后,我们需要创建整个Server,示例代码如下

#创建一个应用对象
    app = Application(
        [
            (r"/", IndexHandler),#前面一个参数为访问这个页面的相对路径
            (r"/1", Handler1)        ]#后面一个参数为页面处理器名
    )
    http_server = HTTPServer(app, ssl_options={
           "certfile": os.path.join(os.path.abspath("."), "ssl.crt"),
           "keyfile": os.path.join(os.path.abspath("."), "ssl.key"),
    })#支持HTTPS证书导入
    #绑定一个监听端口
    http_server.listen(8888)
    #启动web程序,开始监听端口的连接
    IOLoop.current().start()

编写完脚本,再运行脚本,HTTP Server就跑起来了

当然脚本的运行是不可以终止的,如果在Linux SSH环境下,可以运行下面的命令让代码后台持续运行

nohup python server.py params1 > nohup.out 2>&1 &