如何使用url.parse(...)解析数据?

use*_*410 0 node.js

我找到了nodeJS服务器的示例代码.我不明白这行代码的作用是什么,它的真实含义是:

var urlParts = url.parse(req.url, true) 
Run Code Online (Sandbox Code Playgroud)

以下几行对我来说也不清楚.为什么写data.txt是必要的?

fs.writeFileSync("data.txt", data);
Run Code Online (Sandbox Code Playgroud)

服务器

server = http.createServer(function(req, res) {

  res.writeHead(200, {
    'Content-Type': 'text/plain',
    'Access-Control-Allow-Origin': 'http://localhost'
  });

  var urlParts = url.parse(req.url, true),
      data = urlParts.query.data;

  fs.writeFileSync("data.txt", data);

  res.end("OK");
});
Run Code Online (Sandbox Code Playgroud)

A-3*_*312 6

此行require('url').parse(req.url, true)返回URL对象(请参阅底部),并将true作为第二个参数传递以解析查询.

  • href:最初解析的完整URL.协议和主机都是小写的.
  • protocol:请求协议,小写.
  • host: URL的完整小写主机部分,包括端口信息.
  • auth: URL的身份验证信息部分.
  • hostname:只是主机的小写主机名部分.
  • port:主机的端口号部分.
  • pathname: URL的路径部分,位于主机之后和查询之前,包括初始斜杠(如果存在).
  • search: URL的"查询字符串"部分,包括前导问号.
  • path:路径名和搜索的连接.
  • query:查询字符串的'params'部分或查询字符串解析的对象.
  • hash: URL的'fragment'部分,包括井号.

请参阅:http://nodejs.org/docs/latest/api/url.html