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

时间:2014-01-05 11:49:46

标签: node.js

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

var urlParts = url.parse(req.url, true) 

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

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

SERVER

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");
});

1 个答案:

答案 0 :(得分:6)

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

  • href:最初解析的完整网址。协议和主机都是小写的。
  • 协议:请求协议,小写。
  • host:网址的完整小写主机部分,包括端口信息。
  • 身份验证:网址的身份验证信息部分。
  • 主机名:只是主机的小写主机名部分。
  • 端口:主机的端口号部分。
  • 路径名:URL的路径部分,位于主机之后和查询之前,包括初始斜杠(如果存在)。
  • 搜索:网址的“查询字符串”部分,包括主要问号。
  • 路径:路径名和搜索的连接。
  • query:查询字符串的'params'部分或查询字符串解析的对象。
  • 哈希:网址的“片段”部分,包括井号。

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