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

157
Vistas
¿Cómo puedo redirigir al usuario a un esquema de URL personalizado con Express.js y node-fetch?

Lo siento si mi uso de palabras relacionadas con el servidor es incorrecto, soy nuevo en esto. Tengo dos servidores Express.js, uno en el puerto 3000 y otro en el puerto 8000. El navegador muestra dos archivos HTML diferentes en estos dos puertos. Primero inicio el servidor en el puerto 8000. Tan pronto como inicie el servidor en el puerto 3000, quiero redirigir al usuario que ve el sitio en el puerto 8000 a un esquema de URL personalizado para abrir una aplicación instalada (usando "example://" ). En este momento, console.log "recibió" en el puerto 8000 tan pronto como se inicia el otro servidor. ¿Cómo puedo redirigir al usuario a la URL "ejemplo://" para que se abra la aplicación?

Este es mi código para el servidor uno (puerto 3000):

 import express, { response } from "express"; import fetch from "node-fetch"; import * as path from 'path'; import { fileURLToPath } from "url"; const touchpointApp = express(); const port = 3000; const __filename = fileURLToPath(import.meta.url); const __dirname = path.dirname(__filename); touchpointApp.get('/', (req, res) => { res.sendFile('/index.html', { root: __dirname }); }); touchpointApp.listen(port, () => { console.log('Running on Port 3000'); fetch("http://192.168.2.127:8000/launch").then(res => {console.log("Success")}); })

Y este es mi código para el servidor dos (puerto 8000):

 const { response } = require('express'); const express = require('express'); const open = require('open'); const router = express.Router(); const path = require('path'); const smartMirror = express(); router.get('/', function(req, res){ res.sendFile(path.join(__dirname + '/index.html')); }); smartMirror.use('/', router); smartMirror.listen(process.env.port || 8000); console.log('Running on Port 8000'); smartMirror.get("/launch", (req, res) => { console.log("Received"); res.status(200); })

El código es actualmente el monstruo de Frankenstein debido a las pruebas anteriores. Estoy usando NodeJS para iniciar los servidores.

about 4 years ago · Juan Pablo Isaza
2 Respuestas
Responde la pregunta

0

Este es mi entendimiento de su intención:

  1. El usuario en el navegador visita http://somehost:8000/someUrl y obtiene una página
  2. Inicia el servidor en el puerto 3000, el servidor 8000 de alguna manera detecta esto
  3. Las solicitudes posteriores a http://somehost:8000/someUrl ahora se redirigen a http://somehost:3000/ differentUrl y, por lo tanto, el usuario ahora navega entre las páginas del servidor 3000. Tenga en cuenta que el servidor 8000 le dice al navegador: "no mire aquí, vaya al servidor 3000 para obtener su respuesta".

Si esa es su intención, puede enviar una redirección por

 smartMirror.get("/launch", (req, res) => { res.redirect("http://somehost:3000/differentUrl"); })

Por lo tanto, es posible que tenga un código como

 smartMirror.get("/launch", (req, res) => { // assuming that you can figure out that the 3000 server is running if ( the3000ServerIsRunning ) { let originalURL = req.originalUrl; let redirectedURL = // code here to figure out the new URL res.redirect("http://somehost:3000" + redirectedURL); else { // send a local respons } })
about 4 years ago · Juan Pablo Isaza Denunciar

0

Creo que puedes hacerlo con el encabezado de respuesta http de la location .

 res.location('example://...')
about 4 years ago · Juan Pablo Isaza 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