Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

265
Vistas
Hacer una llamada java a python y mostrar la respuesta

Estoy un poco perdido, tengo una aplicación python ejecutándose en una raspberry pi y una aplicación java ejecutándose en otro dispositivo.

Quiero hacer una llamada desde la aplicación Java y hacer que Python haga algunas cosas con la solicitud y luego envíe una respuesta a la aplicación Java.

En este momento puedo hacer una llamada a python y procesar eso, tengo algunos problemas para enviar una respuesta y hacer que Java la procese.

Para java tengo un servidor tomcat y un servidor flask para python

Para mi código java hice lo siguiente

 public void doSwitch(String urlString) { URL url = null; HttpURLConnection con = null; try { url = new URL(urlString); con = (HttpURLConnection) url.openConnection(); con.setRequestMethod("GET"); con.setRequestProperty("Accept", "application/json"); con.getInputStream(); } catch (IOException e) { log.error(String.format("An error occurred: %s", e)); throw new ConnectionFailedException("An error occurred", e); } finally { if (con != null) { con.disconnect(); } } }

para python hice lo siguiente

 import serial import time from flask import Flask, redirect, jsonify, url_for app = Flask(__name__) if __name__ == '__main__': app.debug = True app.run() @app.route('/light/on') def lights_on(): serialComs(b"on\n") line = serialComs(b"status\n") return redirect('/' + line) @app.route("/light/off") def lights_off(): serialComs(b"off\n") line = serialComs(b"status\n") return redirect('/' + line) @app.route("/light/status") def light_status(): status = serialComs(b"status\n") if status == "": status = "unknown" return status @app.route("/<lightstatus>") def lights(lightstatus): print(lightstatus) return jsonify({'status': lightstatus}) def serialComs(state): ser = serial.Serial('/dev/ttyAMA0',9600 , timeout=1) ser.flush() ser.write(state) time.sleep(0.5) line = ser.readline().decode('utf-8').rstrip() return line

Sé que el código Java aún no responde, pero aún no estoy seguro de cómo hacerlo.

¿Qué necesito mirar/leer para que Java obtenga algunos datos de python? No tengo idea de dónde buscar.

over 4 years ago · Santiago Trujillo
1 Respuestas
Responde la pregunta

0

Puede ser un problema con CORS. Tienes que habilitar para redirigir la respuesta a otra API. De forma predeterminada, está habilitado para conectarse solo a través del navegador.

over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda