#!/usr/bin/env python3 # -*- encoding=utf-8 -*- # description: # author:jack # create_time: 2018/1/3 # from samples.DPL.DPLBot import DPLBot from Bot_fan import Bot from dueros.card.TextCard import TextCard #配置日志 import dueros.Log as Log from dueros.Constants import constants Log.init_log(constants.LOG_PATH) def application(environ, start_response): try: request_body_size = int(environ.get('CONTENT_LENGTH', 0)) except(ValueError): request_body_size = 0 request_body = environ['wsgi.input'].read(request_body_size).decode('utf-8') print('request_body = %s\n' % request_body) if not request_body: return writeResponse(start_response, '未获取到请求数据') # bot = DPLBot(request_body) bot = Bot(request_body) # bot = Bot_fan(request_body) # 验证签名enableVerifyRequestSign disableVerifyRequestSign 关闭验证签名 # bot.init_certificate(environ).enable_verify_request_sign() # bot.initCertificate(environ).disableVerifyRequestSign() #数据统计相关配置 #是否开启数据统计功能 # bot.set_monitor_enabled(True) # 设置私钥和统计模式(0:DEBUG模式, 1:ONLINE模式) # bot.set_environment_info(priKey, 1) body_str = bot.run() print(body_str) return writeResponse(start_response, body_str) def writeResponse(start_response, body_str): body = body_str.encode('utf-8') response_headers = [('Content-Type', 'application/json'), ('Content-Length', str(len(body)))] status = '200 OK' start_response(status, response_headers) return [body] def callback(data): print(data) # server.py # 从wsgiref模块导入: from wsgiref.simple_server import make_server # 创建一个服务器,IP地址为空,端口是8010,处理函数是application: httpd = make_server('', 8010, application) print('Serving HTTP on port 8010...') # 开始监听HTTP请求: httpd.serve_forever() # 私钥 priKey = '''-----BEGIN RSA PRIVATE KEY----- MIICXQIBAAKBgQDKoeRzRVf8WoRSDYYqUzThpYCr90jfdFwTSXHJ526K8C6TEwdT UA+CFPQPRUg9jrYgFcown+J2myzO8BRLynD+XHb9ilLb49Mqk2CvDt/yK32lgHv3 QVx14Dpb6h8isjncSF965fxBxlHGbvPwnHkJ9etRIYdYV3QpYohFszH3wQIDAQAB AoGAFhKqkw/ztK6biWClw8iKkyX3LURjsMu5F/TBK3BFb2cYe7bv7lhjSBVGPL+c TfBU0IvvGXrhLXBb4jLu0w67Xhggwwfc86vlZ8eLcrmYVat7N6amiBmYsw20GViU UFmePbo1G2BXqMA43JxqbIQwOLZ03zdw6GHj6EVlx369IAECQQD4K2R3K8ah50Yz LhF7zbYPIPGbHw+crP13THiYIYkHKJWsQDr8SXoNQ96TQsInTXUAmF2gzs/AwdQg gjIJ/dmBAkEA0QarqdWXZYbse1XIrQgBYTdVH9fNyLs1e1sBmNxlo4QMm/Le5a5L XenorEjnpjw5YpEJFDS4ijUI3dSzylC+QQJARqcD6TGbUUioobWB4L9GD7SPVFxZ c3+EgcxRoO4bNuCFDA8VO/InP1ONMFuXLt1MbCj0ru1yFCyamc63NEUDAQJBALt7 PjGgsKCRuj6NnOcGDSbDWIitKZhnwfqYkAApfsiBQkYGO0LLaDIeAWG2KoCB9/6e lAQZnYPpOcCubWyDq4ECQQCrRDf0gVjPtipnPPS/sGN8m1Ds4znDDChhRlw74MI5 FydvHFumChPe1Dj2I/BWeG1gA4ymXV1tE9phskV3XZfq -----END RSA PRIVATE KEY-----''' # 公钥 pubKey = '''-----BEGIN PUBLIC KEY----- MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDKoeRzRVf8WoRSDYYqUzThpYCr 90jfdFwTSXHJ526K8C6TEwdTUA+CFPQPRUg9jrYgFcown+J2myzO8BRLynD+XHb9 ilLb49Mqk2CvDt/yK32lgHv3QVx14Dpb6h8isjncSF965fxBxlHGbvPwnHkJ9etR IYdYV3QpYohFszH3wQIDAQAB -----END PUBLIC KEY-----'''