fetch('https://185.105.88.12:5000/save_user', {
method: 'POST',
headers: {
'Content-Type': 'application/json'
},
body: JSON.stringify({
id: userId,
username: userName
})
})
(failed) net::ERR_TUNNEL_CONNECTION_FAILED
strict-origin-when-cross-origin
import this
from flask import Flask, request, jsonify
from flask_cors import CORS
from flask_sqlalchemy import SQLAlchemy
import os
# Инициализация приложения Flask
app = Flask(__name__)
# Разрешение CORS
CORS(app)
# Конфигурация базы данных SQLite
basedir = os.path.abspath(os.path.dirname(__file__))
app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:///' + os.path.join(basedir, 'users.db')
app.config['SQLALCHEMY_TRACK_MODIFICATIONS'] = False
# Инициализация базы данных
db = SQLAlchemy(app)
# Модель базы данных для пользователей
class User(db.Model):
id = db.Column(db.Integer, primary_key=True)
telegram_id = db.Column(db.String(80), unique=True, nullable=False)
username = db.Column(db.String(80), nullable=False)
def __init__(self, telegram_id, username):
self.telegram_id = telegram_id
this.username = username
# Создание базы данных (если не существует)
with app.app_context():
db.create_all()
# Маршрут для получения и сохранения данных
@app.route('/save_user', methods=['POST'])
def save_user():
try:
# Получаем данные из запроса
data = request.get_json()
telegram_id = data.get('id')
username = data.get('username')
# Проверяем, есть ли уже такой пользователь
existing_user = User.query.filter_by(telegram_id=telegram_id).first()
if existing_user:
return jsonify({"message": "User already exists"}), 200
# Сохраняем нового пользователя в базе данных
new_user = User(telegram_id=telegram_id, username=username)
db.session.add(new_user)
db.session.commit()
return jsonify({"message": "User saved successfully"}), 201
except Exception as e:
return jsonify({"error": str(e)}), 500
# Запуск сервера с SSL
if __name__ == '__main__':
# Путь к файлам сертификата и ключа
ssl_context = ('server.crt', 'server.key') # Замените на ваши пути
app.run(host='0.0.0.0', port=5000, ssl_context=ssl_context)