2012-04-20 48 views
7

¿Cómo puedo obtener la URL de mi aplicación web en Node.js? Quiero decir si mi URL base del sitio es http://localhost:8080/MyApp ¿Cómo podría obtenerlo?Obtener mi URL base de la aplicación web en JavaScript

Gracias,

+0

a través de un navegador web? ¿Qué quieres decir con cómo podría obtenerlo? – ControlAltDel

+0

No, estoy usando node.js. Entonces lo necesito en el lado del servidor –

+0

¿Quiere decir que quiere hacer una solicitud http del nodo? mira la biblioteca http y http.req – ControlAltDel

Respuesta

20

Debe conectar 'url' módulo

var http = require('http'); 
var url = require('url') ; 

http.createServer(function (req, res) { 
    var hostname = req.headers.host; // hostname = 'localhost:8080' 
    var pathname = url.parse(req.url).pathname; // pathname = '/MyApp' 
    console.log('http://' + hostname + pathname); 

    res.writeHead(200); 
    res.end(); 
}).listen(8080); 

UPD:

En el módulo URL Node.js v8 Tener nuevas API para trabajar con direcciones URL. Ver documentation:

Nota: Si bien la API heredada no se ha desaprobado, se mantiene únicamente por compatibilidad con versiones anteriores con aplicaciones existentes. El nuevo código de aplicación debería usar la API WHATWG.

+5

las llamadas de búsqueda pueden ser falsificadas por el usuario que realiza la solicitud, ten cuidado al confiar en ella. –

0

Para obtener detalles de la url en las aplicaciones de su nodo. Tienes que usar el módulo URL. módulo URL dividirá su dirección web en partes legibles

Después me he dado el código

var url = require('url'); 
var adr = 'http://localhost:8080/default.htm?year=2017&month=february'; 
var q = url.parse(adr, true); 

console.log(q.host); //returns 'localhost:8080' 
console.log(q.pathname); //returns '/default.htm' 
console.log(q.search); //returns '?year=2017&month=february' 

var qdata = q.query; //returns an object: { year: 2017, month: 'february' } 
console.log(qdata.month); //returns 'february'`enter code here` 

Para obtener más información sobre el módulo URL se puede visitar https://nodejs.org/api/url.html

Cuestiones relacionadas