提取碼QQ:505645074app.py#!/usr/bin/python#-*-coding:utf-8-*-fromcommondlib.help.iniimport*fromcommondlib.help.mysqlimport*fromcommondlib.help.dataimport*fromcommondlib.help.txtimport*fromflaskimportFlask,abort,request,jsonifyim" />

亚洲免费在线-亚洲免费在线播放-亚洲免费在线观看-亚洲免费在线观看视频-亚洲免费在线看-亚洲免费在线视频

物聯網通信 - RESTDemo示例程序(Python版本)

系統 1604 0

源碼下載?-> 提取碼? QQ:505645074

?

app.py

#!/usr/bin/ python

# - * - ?coding:utf - 8 - * -

?

from commondlib.help.ini import *

from commondlib.help.mysql import *

from commondlib.help.data import *

from commondlib.help.txt import *

from flask import Flask, abort, request, jsonify

import json

?

__name__ = '__main__'

?

app = Flask(__name__)

?

def init():

????# log

????CTxtHelper.init("restserver")

?

????CTxtHelper.appendlog("soft start")

?

????# ini

????status = CIniHelper.getfile("config.ini")

????if not status:

????????return False

?

????node = "systemparam"

????dbip = CIniHelper.read(node, "dbip")

????dbname = CIniHelper.read(node, "dbname")

????dbuser = CIniHelper.read(node, "dbuser")

????dbpass = CIniHelper.read(node, "dbpass")

?

????# mysql

????status = CMySqlHelper.init(dbip, dbuser, dbpass, dbname)

????if not status:

????????return False

?

????return True

?

?

@app.route('/test/', methods=['GET'])

def test():

????return jsonify({'code': 0, 'info': "ok", 'errmsg': "", 'data': "[]"})

?

?

@app.route('/query/', methods=['POST'])

def query():

????if not request.json or 'sql' not in request.json:

????????abort(400)

????code = 1

????info = "success"

????outmsg = []

????sql = CDataHelper.fromate_utf(request.json['sql'])

????sql = sql.replace("\\", "")

????data = CMySqlHelper.query(sql, outmsg)

????errmsg = CDataHelper.list2string(outmsg)

????if not CDataHelper.string_empty(errmsg):

????????code = 1000

????????info = "fail"

????out = {'code': code, 'info': info, 'errmsg': errmsg, 'data': data}

????CTxtHelper.appendlog("[Info] rest _query,input:" + sql + ",output:" + json.dumps(out))

????return jsonify(out)

?

?

@app.route('/execute/', methods=['POST'])

def execute():

????if not request.json or 'sql' not in request.json:

????????abort(400)

????code = 1

????info = "success"

????outmsg = []

????sql = CDataHelper.fromate_utf(request.json['sql'])

????sql = sql.replace("\\", "")

????status = CMySqlHelper.execute(sql, outmsg)

????errmsg = CDataHelper.list2string(outmsg)

????if not status:

????????code = 1000

????????info = "fail"

????out = {'code': code, 'info': info, 'errmsg': errmsg, 'data': "[]"}

????CTxtHelper.appendlog("[Info] rest _execute,input:" + sql + ",output:" + json.dumps(out))

????return jsonify(out)

?

?

if __name__ == '__main__':

????init()

????app.run(True)

????#app.run("0.0.0.0", 8080, True)

?

httpclient.py

#!/usr/bin/ python

# - * - ?coding:utf - 8 - * -

?

import urllib2, urllib

?

from commondlib.help.txt import CTxtHelper

?

class CHttpHelper:

?

????@staticmethod

????def __init__():

????????return

?

????@staticmethod

????def post(url, data):

????????ret = ''

????????try:

????????????req = urllib2.Request(url)

????????????data = urllib.urlencode(data)

????????????opener = urllib2.build_opener(urllib2.HTTPCookieProcessor())

????????????response = opener.open(req, data)

????????????ret = response.read()

????????except Exception as e:

????????????CTxtHelper.appendlog("[Error] post,errmsg=" + str(e))

????????return ret

?

????# url = "http://192.168.81.16/cgi - bin/ python _test/test.py?ServiceCode=aaaa"

????@staticmethod

????def get(url):

????????req = urllib2.Request(url)

????????print req

????????res_data = urllib2.urlopen(req)

????????res = res_data.read()

????????print res

GET接口

http://127.0.0.1:5000/test/

?

POST接口

http://127.0.0.1:5000/query/

{"sql":"select * from tb_BoxError"}

?

http://127.0.0.1:5000/execute/

{"sql":"delete from tb_BoxError where fi_State=1 and fi_Time2 <='2018 - 10 - 10 23:59:59' and fi_DeviceID='8888'"}

?

?


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!??!

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 久久综合久久综合久久 | 国产精品亚洲欧美日韩一区在线 | 国产成人不卡亚洲精品91 | 久草青青在线视频 | 在线看片不卡 | 男人av的天堂 | 最刺激黄a大片免费观看下截 | 成人区精品一区二区不卡亚洲 | 牛牛影院成人网 | 日韩成a人片在线观看日本 日韩成人 | 亚洲精品啪啪一区二区三区 | 亚洲福利视频精选在线视频 | 欧美精品国产综合久久 | 激情午夜网 | 日韩欧美精品一区二区三区 | 884hutv四虎永久7777 | 一区二区三区四区亚洲 | 成人a区 | 国产区一区| 日本aaaa级 | 深夜男人天堂 | 欧洲色网站 | 天天射日日 | 波多野结衣一区二区三区高清在线 | 精品视频久久 | 99久久网 | 国产女人水多毛片18 | 婷婷在线免费视频 | 欧美成人一区二免费视频 | 天天操你 | 91香蕉黄 | 亚洲国产欧美91 | 精品色 | 久久亚洲国产成人精品性色 | 欧美日韩色 | 国产高清在线视频一区二区三区 | 成人国产亚洲欧美成人综合网 | 综合啪啪| 久操视频在线观看免费 | 国产高清成人mv在线观看 | 国产在线观看91精品一区 |