程序员程序园

Node-url模块的学习笔记

2019-05-01  本文已影响11人  狂暴小绵羊

我们可以很简单的获取到请求的url,但有数据提交上来的url是十分复杂和不确定的。很不利于编写业务逻辑。所以我们就要将url拆分成我们能用的数据。node的url模块就是帮助我们对提交上来的url进行解析处理

parse(urlStr,queryString,AnalysisHost)

 解析url,返回一个url属性对象
示例代码
  var url = require('url')
  var obj = url.parse('http://www.baidu.com/vdsa?ie=utf-8&word=sad',true,true)
  console.log(obj);
结果:
Url组成部分:
  1. protocol:url的通信协议(http/https)
  2. slashes:如果协议protocol冒号后跟的是两个斜杠字符(/),那么值为true
  3. auth:URL的用户名与密码部分
  4. host:url的主机名 “baidu.com”
  5. port: 端口号
  6. hostname: hostname是host属性排除端口port之后的小写的主机名部分
  7. hash:哈希#后面字符串包括#
  8. search:URL的查询字符串部分,包括开头的问号字符(?)
  9. query: 不包含问号(?)的search字符串
  10. pathname:URL的整个路径部分。跟在host后面,截止问号(?)或者哈希字符(#)分隔
  11. path:由pathname与search组成的串接,不包含hash字符后面的东西
  12. href:解析后的完整的URL字符串,protocol和host都会被转换成小写。

url.format(urlObject)

 将一个url对象格式化成url字符串

url.resolve(from,to)

 用来插入或替换URL内容
示例代码
    const url = require("url");

    console.log(url.resolve("/one/two/three","four"));
    console.log(url.resolve("/one/two/","four"));
    console.log(url.resolve("http://www.baidu.com","/topic"));
    console.log(url.resolve("http://www.baidu.com/one","topic"));
结果:

上一篇 下一篇

猜你喜欢

热点阅读