源码下载

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接口

POST接口

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

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

python物联网通信_物联网通信RESTDemo示例程序(Python版本)相关推荐

  1. Python灰帽子_黑客与逆向工程师的Python编程之道

    收藏自用 链接:Python灰帽子_黑客与逆向工程师的Python编程之道

  2. 生活中常见物联网实例_物联网网关常见问题解答(一)

    1.为什么物联网解决方案需要网关? 物联网网关弥合了设备,传感器,设备,系统和云之间的通信鸿沟.通过系统地连接云,物联网网关提供了本地处理和存储,并具有基于传感器输入的数据自主控制现场设备的功能.物联 ...

  3. 物联网网络安全_物联网网络及其安全

    物联网网络安全 This article is based on a guest lecture delivered at the Technical University of Denmark. 本 ...

  4. 大数据人工智能物联网论文_物联网学报“大数据”相关论文汇总

    戳上面的蓝字关注我们哦! <物联网学报>"大数据"相关论文汇总  (点击题目即可跳转至指定论文) [1]龚淑蕾, 李堃, 童恩, 等. 基于蜂窝工业物联网的智能工厂解决 ...

  5. python老师武_跟着廖雪峰老师学python (5)

    若想技术精进,当然得把基础知识打得牢牢的. 廖雪峰的官方网站  python3教程,该网站提供的教程浅显易懂,还附带了讲学视频,非常适合初学者正规入门. 以下是通过廖雪峰python官方网站学习的个人 ...

  6. python 字节流分段_一文掌握CTF中Python全部考点

    声明:Tide安全团队原创文章,转载请声明出处!文中所涉及的技术.思路和工具仅供以安全为目的的学习交流使用,任何人不得将其用于非法用途以及盈利等目的,否则后果自行承担! 前 言 一次偶然的机会,让自己 ...

  7. python 面试问题_值得阅读的30个Python面试问题

    python 面试问题 Interview questions are quite tricky to predict. In most cases, even peoples with great ...

  8. python编程优化_掌握六大技巧,让python编程健步如飞!

    有人跟我抱怨说python太慢了,然后我就将python健步如飞的六大技巧传授给他,结果让他惊呆了,你也想知道这个秘诀吗?这就告诉你: Python是一门优秀的语言,它能让你在短时间内通过极少量代码就 ...

  9. python教育领域_【松勤教育】Python为何这么火,究竟有哪些优势?

    早几年JAVA占住了软件开发的大半边天下,现如今Python不知道啥时候开始火起来了,各大互联网企业也开始大量招聘Python开发工程师,不仅仅开发人员,自动化测试,测试开发这样的岗位很多也使用pyt ...

  10. python图像计数_计算机视觉:利用OpenCV和Python进行车辆计数详细步骤

    本教程我将分享几个简单步骤解释如何使用OpenCV进行Python对象计数. 需要安装一些软件: Python 3 OpennCV 1.了解Opencv从摄像头获得视频的Python脚本import ...

最新文章

  1. 关于idea使用SpringMVC配置正确却404问题及解决办法
  2. 网页主动探测工具使用
  3. 如何验证 Active Directory 使用表单身份验证和 Visual C#.NET
  4. 湖南大学计算机考研考什么,2017年湖南大学计算机系统考研大纲
  5. 【Android】Apk安装和删除
  6. OCR算法识别率怎么评估?
  7. 前端学习(2617):删除品牌
  8. 怎么用js动态 设置select中的某个值为选中项
  9. adblock去除烦人的广告
  10. 59s计时器C语言程序步骤详解,51单片机00-59秒计时器 0-59s Timer
  11. Linux内核分析(八) 设备驱动
  12. 重庆“扫黄打非”部门打掉一网络传黄团伙,查获淫秽视频11万余部
  13. Java服务器多站点,java客户端web服务器连接到多个web服务器
  14. python 内存优化_Python 黑魔法之内存优化
  15. iOS开发之理解iOS中的MVC设计模式
  16. matlab生成chirp信号,chirp信号(chirp信号的产生)
  17. 互联网日报 | 蚂蚁集团成立整改工作组;万达完成开业45座万达广场年度目标;T3出行日订单突破100万...
  18. ActiveMQ笔记(一)
  19. 苹果充电显示不支持此配件_水果手机充电时,显示不支持此配件时的应急处理小窍门...
  20. 以“人民的名义”劝你快去读点书

热门文章

  1. 4月23日遇到的问题
  2. 接口请求,上传byte数组byte[]数据异常,负数变正数/负数变63
  3. 【ZK-curator使用异常】KeeperErrorCode = Unimplemented for /***
  4. 解决set /p yn= 接受键盘输入导致ECHO 处于关闭状态的问题
  5. java.sql.SQLException: Column ‘class‘ not found.异常没有找到列
  6. Windows下Python 3.6 + VS2017 + Anaconda 解决Unable to find vcvarsall.bat问题
  7. Java并发编程原理与实战六:主线程等待子线程解决方案
  8. HTTP 错误 500.19- Internal Server Error 错误解决方法
  9. tomcat 7/8 启动非常慢的解决方法
  10. mac终端Iterm2支持rz和sz的解决方案