No puedo acceder a un servidor web en el puerto localhost 5000 en macOS v12 (Monterey) ( Frasco o cualquier otro).
Por ejemplo, use el servidor HTTP incorporado, no puedo acceder al puerto 5000:
python3 -m http.server 5000 ... (stack trace) File "/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/socketserver.py", line 466, in server_bind self.socket.bind(self.server_address) OSError: [Errno 48] Address already in use
Si tiene Flask instalado y ejecuta el servidor web de Flask, no falla al iniciar . Tomemos el código de ejemplo mínimo de Flask:
# Save as hello.py in the current working directory. from flask import Flask app = Flask(__name__) @app.route("/") def hello_world(): return "<p>Hello, World!</p>"
Luego ejecútelo (siempre que tenga Flask/Python 3 instalado):
export FLASK_APP=hello flask run
Producción:
* Running on http://127.0.0.1:5000/
Sin embargo, si intenta acceder a este servidor (desde un navegador o con cualquier otra cosa), se le niega:
curl -I localhost:5000 HTTP/1.1 403 Forbidden Content-Length: 0 Server: AirTunes/595.13.1
macOS Monterey introdujo AirPlay Receiver ejecutándose en el puerto 5000. Esto evita que su servidor web funcione en el puerto 5000. Receiver ya tiene el puerto .
Tu también puedes:
Apague el receptor AirPlay
Vaya a Preferencias del sistema → Compartir → Desmarque Airplay Receiver .
Debería poder volver a ejecutar el servidor ahora en el puerto 5000 y obtener una respuesta:
python3 -m http.server 5000 Serving HTTP on :: port 5000 (http://[::]:5000/) ...
Ejecute el servidor en un puerto diferente al 5000
Probablemente sea una mejor idea dejar de usar el puerto 5000, ya que está reservado para Airplay Receiver en macOS Monterey.
Solo para ejecutar el servidor en un puerto diferente. No es necesario apagar Airplay Receiver.
python3 -m http.server 4999
o
export FLASK_APP=hello flask run -p 4999