Node.js URL解析

CJM*_*CJM 5 javascript node.js express

我正在尝试解析节点js中的url。从此代码中获取空值。它正在接收路径的值。但不适用于主机或协议。

var http = require('http');
var url = require('url');
http.createServer ( function (req,res){
    var pathname = url.parse(req.url).pathname;
    var protocol = url.parse(req.url).protocol;
    var host = url.parse(req.url).host;
    console.log("request for " + pathname + " recived.");
    console.log("request for " + protocol + " recived.");
    console.log("request for " + host + " recived.");
    res.writeHead(200,{'Content-Type' : 'text/plain'});
    res.write('Hello Client');
    res.end();
 }).listen(41742);
 console.log('Server Running at port 41742');
 console.log('Process IS :',process.pid);
Run Code Online (Sandbox Code Playgroud)

Jon*_*ski 3

HTTP协议不会将组合 URL 传达为一个值以供 Node 解析。

\n\n

http://yourdomain.com/home例如,对 的请求以以下方式到达:

\n\n
GET /home HTTP/1.1\nHost yourdomain.com\n# ... (additional headers)\n
Run Code Online (Sandbox Code Playgroud)\n\n

因此,这些碎片不会都在同一个地方。

\n\n\n