python物联网通信_物联网通信RESTDemo示例程序(Python版本)
源码下载
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版本)相关推荐
- Python灰帽子_黑客与逆向工程师的Python编程之道
收藏自用 链接:Python灰帽子_黑客与逆向工程师的Python编程之道
- 生活中常见物联网实例_物联网网关常见问题解答(一)
1.为什么物联网解决方案需要网关? 物联网网关弥合了设备,传感器,设备,系统和云之间的通信鸿沟.通过系统地连接云,物联网网关提供了本地处理和存储,并具有基于传感器输入的数据自主控制现场设备的功能.物联 ...
- 物联网网络安全_物联网网络及其安全
物联网网络安全 This article is based on a guest lecture delivered at the Technical University of Denmark. 本 ...
- 大数据人工智能物联网论文_物联网学报“大数据”相关论文汇总
戳上面的蓝字关注我们哦! <物联网学报>"大数据"相关论文汇总 (点击题目即可跳转至指定论文) [1]龚淑蕾, 李堃, 童恩, 等. 基于蜂窝工业物联网的智能工厂解决 ...
- python老师武_跟着廖雪峰老师学python (5)
若想技术精进,当然得把基础知识打得牢牢的. 廖雪峰的官方网站 python3教程,该网站提供的教程浅显易懂,还附带了讲学视频,非常适合初学者正规入门. 以下是通过廖雪峰python官方网站学习的个人 ...
- python 字节流分段_一文掌握CTF中Python全部考点
声明:Tide安全团队原创文章,转载请声明出处!文中所涉及的技术.思路和工具仅供以安全为目的的学习交流使用,任何人不得将其用于非法用途以及盈利等目的,否则后果自行承担! 前 言 一次偶然的机会,让自己 ...
- python 面试问题_值得阅读的30个Python面试问题
python 面试问题 Interview questions are quite tricky to predict. In most cases, even peoples with great ...
- python编程优化_掌握六大技巧,让python编程健步如飞!
有人跟我抱怨说python太慢了,然后我就将python健步如飞的六大技巧传授给他,结果让他惊呆了,你也想知道这个秘诀吗?这就告诉你: Python是一门优秀的语言,它能让你在短时间内通过极少量代码就 ...
- python教育领域_【松勤教育】Python为何这么火,究竟有哪些优势?
早几年JAVA占住了软件开发的大半边天下,现如今Python不知道啥时候开始火起来了,各大互联网企业也开始大量招聘Python开发工程师,不仅仅开发人员,自动化测试,测试开发这样的岗位很多也使用pyt ...
- python图像计数_计算机视觉:利用OpenCV和Python进行车辆计数详细步骤
本教程我将分享几个简单步骤解释如何使用OpenCV进行Python对象计数. 需要安装一些软件: Python 3 OpennCV 1.了解Opencv从摄像头获得视频的Python脚本import ...
最新文章
- 关于idea使用SpringMVC配置正确却404问题及解决办法
- 网页主动探测工具使用
- 如何验证 Active Directory 使用表单身份验证和 Visual C#.NET
- 湖南大学计算机考研考什么,2017年湖南大学计算机系统考研大纲
- 【Android】Apk安装和删除
- OCR算法识别率怎么评估?
- 前端学习(2617):删除品牌
- 怎么用js动态 设置select中的某个值为选中项
- adblock去除烦人的广告
- 59s计时器C语言程序步骤详解,51单片机00-59秒计时器 0-59s Timer
- Linux内核分析(八) 设备驱动
- 重庆“扫黄打非”部门打掉一网络传黄团伙,查获淫秽视频11万余部
- Java服务器多站点,java客户端web服务器连接到多个web服务器
- python 内存优化_Python 黑魔法之内存优化
- iOS开发之理解iOS中的MVC设计模式
- matlab生成chirp信号,chirp信号(chirp信号的产生)
- 互联网日报 | 蚂蚁集团成立整改工作组;万达完成开业45座万达广场年度目标;T3出行日订单突破100万...
- ActiveMQ笔记(一)
- 苹果充电显示不支持此配件_水果手机充电时,显示不支持此配件时的应急处理小窍门...
- 以“人民的名义”劝你快去读点书
热门文章
- 4月23日遇到的问题
- 接口请求,上传byte数组byte[]数据异常,负数变正数/负数变63
- 【ZK-curator使用异常】KeeperErrorCode = Unimplemented for /***
- 解决set /p yn= 接受键盘输入导致ECHO 处于关闭状态的问题
- java.sql.SQLException: Column ‘class‘ not found.异常没有找到列
- Windows下Python 3.6 + VS2017 + Anaconda 解决Unable to find vcvarsall.bat问题
- Java并发编程原理与实战六:主线程等待子线程解决方案
- HTTP 错误 500.19- Internal Server Error 错误解决方法
- tomcat 7/8 启动非常慢的解决方法
- mac终端Iterm2支持rz和sz的解决方案