tornado伺服器以JSON字串作為對客戶端的響應演示
阿新 • • 發佈:2018-11-16
# tornado伺服器以JSON字串作為對客戶端的響應演示 import json import tornado from tornado.httpserver import HTTPServer from tornado.ioloop import IOLoop from tornado.options import define, options, parse_config_file from tornado.web import Application, RequestHandler # 用來響應使用者請求 class IndexHandler(RequestHandler): def initialize(self): print('initialize方法執行') #響應以get方式發起的請求 def get(self, *args, **kwargs): print('get方法執行') # 伺服器給瀏覽器的響應內容 #1)建立一個字典 resp={'key1':'value1','key2':'value2'} #resp2=dict(key1='value1',key2='value2') #2)將字典轉為一個JSON格式的字串 respstr = json.dumps(resp) #3)將json字串交回客戶端 #我的響應頭Content-Type=text/html self.write(respstr) #4)設定響應頭 self.set_header('Content-Type','application/json;charset=utf-8') #self.write(resp) #響應以post方式發起的請求 def post(self, *args, **kwargs): pass def on_finish(self): print('on_finish方法執行') #定義一個變數,用來代表埠號 define('port',type=int,default=8888,multiple=False) #定義一個變數,用來代表資料庫的連線資訊(使用者名稱,密碼,埠號,資料庫名稱) define('db',multiple=True,type=str,default=[]) #從指定的配置檔案中,讀取port的內容 parse_config_file('config') #建立Application物件,進行若干個對伺服器的設定 #例如:路由列表,模板路徑,靜態資源路徑等 app = Application([('/',IndexHandler)]) #建立伺服器程式 server = HTTPServer(app) #伺服器監聽某個埠(建議使用10000以上的埠) server.listen(options.port)#10000 #列印獲得的資料庫引數 print('資料庫引數:',options.db) #啟動伺服器(在當前程序中啟動伺服器) IOLoop.current().start()