使用JavaScript获取我的Web App基本URL

Fer*_*deh 8 javascript node.js

我如何在Node.js中获取我的Web应用程序URL?我的意思是如果我的站点基本URL是http:// localhost:8080/MyApp我怎么能得到它?

谢谢,

pro*_*ich 27

您必须连接'url'模块

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);
Run Code Online (Sandbox Code Playgroud)

UPD:

在Node.js v8 url模块中获取用于处理URL的新API.见文档:

注意:虽然旧版API尚未弃用,但它仅用于向后兼容现有应用程序.新的应用程序代码应该使用WHATWG API.

  • req.headers可以被提出请求的用户欺骗,请小心信任它. (5认同)

San*_*Nag 12

获取如下网址:http://localhost:8080/MyApp

我们应该使用:-

req.protocol+"://"+req.headers.host
Run Code Online (Sandbox Code Playgroud)