Skip to content

Пример вебсервера

Evgeny Dontsov edited this page Jan 28, 2021 · 3 revisions

Python (Flask)

Минимальный код

# -*- coding: utf-8 -*-
from __future__ import print_function  # для единого кода Python2, Python3

from flask import Flask, request, abort
import json

app = Flask(__name__)

@app.route('/data', methods=['POST'])
def data():
    try:
        j = request.get_json()
        print(j['ch0'])
        print(j['ch1'])
    except Exception as err:
        return "{}".format(err), 400
    return 'OK'

if __name__ == "__main__":
	app.run(host='192.168.1.2', port=8000)

Запуск

Flask guide

python server.py

Проверка

curl -X POST -H "Content-Type: application/json" -d '{"ch0": 1.1, "ch1": 2.0}' http://192.168.1.2:8000/data

Заголовок Content-Type: application/json обязателен.

Пример с аргументами командной строки и HTTPS

Вот Python скрипт Flask сервера, получающего от Ватериуса данные.

HTTPS и HTTP версия (смотрите аргументы запуска)

PHP

Благодарные покупатели прислали код сервера на PHP, записывающий данные в БД

<?php
$json = file_get_contents('php://input');
$obj = json_decode($json);
$cold = $obj->{'ch1'};
$hot = $obj->{'ch0'};
$data = $_POST['data'];
include 'config.php';
mysql_connect($dbhost, $dbuser, $dbpasswd) or die("Couldn't establish connection");
mysql_select_db($dbname);

$query = "INSERT INTO `2`(`id`, `data`, `cold`, `hot`) VALUES ('Null','$data','$cold','$hot')";
mysql_query($query) or die("Запись не удалась!");

?>