Witam,
Mam taki problem, napisałem sobie prosty kod serwera w Pythonie w Flask, wszystko śmiga z moim programem w C++ przez Curl. Tylko to działa tylko lokalnie. Próbowałem już zrobić to przez przekierowanie portów na ruterze. Tzn.:
Mój router to Orange FunBox6 (światłowód)
1) Podłączyłem komputer przez kabel Ethernet
2) Uruchomiłem skrypt serwera
3) Przekierowałem porty: trzeba było wpisać port zewnętrzny (wpisałem 8080) i port wewnętrzny (5000), Flask mi działa na porcie 5000:
Nie wiem co robię źle ale komunikacji z serwerem nie ma żadnej z zewnątrz. Wpisałem w przeglądarkę publiczny adres IP routera i nic.
KOD SERWERA:
from flask import Flask, send_file, request, abort
app = Flask(__name__)
# Ustaw klucz API
API_KEY = 'moje_api'
@app.route('/get_file/<path:file_path>', methods=['GET'])
def get_file(file_path):
# Sprawdź, czy przekazany jest klucz API w nagłówku
client_api_key = request.headers.get('X-API-Key')
if client_api_key != API_KEY:
abort(403) # Zakaz dostępu, jeśli klucz API jest nieprawidłowy
try:
return send_file(file_path, as_attachment=True)
except FileNotFoundError:
abort(404) # Plik nie istnieje
except Exception as e:
abort(500) # Wewnętrzny błąd serwera
if __name__ == '__main__':
app.run(port=8080)
Nie wiem jak rozwiązać problem. Pozdrawiam
Piotr Domański