imou/app.py

62 lines
1.8 KiB
Python

"""
This script runs the application using a development server.
It contains the definition of routes and views for the application.
"""
import time
from flask import Flask, request, jsonify
import requests
import json
from timeset import timeset
app = Flask(__name__)
@app.route('/send/<int:ida>', methods=['GET','POST'])
def send_custom_json(ida):
time_stamp,nonce,sign=timeset()
custom_json = {
"system": {
"ver": "1.0",
"sign": sign,
"appId": "lc0be9b1a760e44634",
"time": time_stamp,
"nonce": nonce
},
"params": {
"token": "At_0000hz7d3dcf1dbd884b4ba94a26c621",
"deviceId": "9F01FD3PAZ9B6B4",
"channelId": "0",
"operation": ida,
"duration": "1000"
},
"id": "1"
}
target_url = 'https://openapi.lechange.cn:443/openapi/controlMovePTZ'
headers = {'Content-Type': 'application/json'}
try:
# 将自定义JSON数据转换为字符串
json_payload = json.dumps(custom_json)
# 发送POST请求到外部API
response = requests.post(target_url, data=json_payload, headers=headers)
# 检查请求是否成功
if response.status_code == 200:
print('Request sent successfully')
# 返回目标API的响应给客户端
return jsonify(response.json())
else:
print(f'Failed to send request, status code: {response.status_code}')
return jsonify({'error': 'Failed to send request'}), 500
except requests.exceptions.RequestException as e:
print(f'Error occurred during request: {e}')
return jsonify({'error': str(e)}), 500
if __name__ == '__main__':
import os
HOST = os.environ.get('SERVER_HOST', 'localhost')
try:
PORT = int(os.environ.get('SERVER_PORT', '5555'))
except ValueError:
PORT = 5555
app.run(HOST, PORT)