url模块

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了url模块相关的知识,希望对你有一定的参考价值。

NodeJS之URL模块

 

  今天讲的是NodeJS里面的一个简单的小模块,即url模块;这个url模块要使用的话,需要先引入。若只是在命令行里比如cmd或git bash等使用url这个模块的话,是不需要require进来的。直接使用便可

  const这个关键字是ES6里面定义的常量,不可以改变。

1.const url = require("url");

  url总共提供了三个方法,分别是url.parse();  url.format();  url.resolve();

 

  1.url.parse(urlString[, parseQueryString[, slashesDenoteHost]])

  会返回一个解析后的对象,第一个参数为要解析的url地址,第二个参数为是否将query字符串解析成对象格式,第三个参数来控制在没有协议的情况下,是否解析域名等内容

  例子1:url.parse只传一个参数的情况

  url.parse("http://user:[email protected]:8080/p/a/t/h?query=string#hash");
  /*
  返回值:
  {
    protocol: ‘http:‘,
    slashes: true,
    auth: ‘user:pass‘,
    host: ‘host.com:8080‘,
    port: ‘8080‘,
    hostname: ‘host.com‘,
    hash: ‘#hash‘,
    search: ‘?query=string‘,
    query: ‘query=string‘,
    pathname: ‘/p/a/t/h‘,
    path: ‘/p/a/t/h?query=string‘,
    href: ‘http://user:[email protected]:8080/p/a/t/h?query=string#hash‘
  }
 没有设置第二个参数为true时,query属性为一个字符串类型
*/

  例子2 : url.parse第二个参数为true的情况  

 url.parse("http://user:[email protected]:8080/p/a/t/h?query=string#hash",true);
  /*
  返回值:
   {
    protocol: ‘http:‘,
    slashes: true,
    auth: ‘user:pass‘,
    host: ‘host.com:8080‘,
    port: ‘8080‘,
    hostname: ‘host.com‘,
    hash: ‘#hash‘,
    search: ‘?query=string‘,
    query: { query: ‘string‘ },
    pathname: ‘/p/a/t/h‘,
    path: ‘/p/a/t/h?query=string‘,
    href: ‘http://user:[email protected]:8080/p/a/t/h?query=string#hash‘
  }
 返回的url对象中,query属性为一个对象
 */

  

  2 url.format(urlObj) 

  将一个url解析后的对象还原成一个url地址
  参数:urlObj指一个url对象
  
url.format({
    protocol:"http:",
    host:"182.163.0:60",
    port:"60"
});
/*
返回值:
‘http://182.163.0:60‘
*/

  

  3.url.resolve(from, to)

  可以将我们两段url解析成一个url地址
  
url.resolve(‘http://www.baidu.com‘,‘/api/index.html‘);
/*
返回值:
‘http://www.baidu.com/api/index.html‘
*/

  url模块的三种方法就讲到这里了,不太全面的地方大家可以继续查阅其它资料哦。

以上是关于url模块的主要内容,如果未能解决你的问题,请参考以下文章

VSCode自定义代码片段3——url大全

如何使用模块化代码片段中的LeakCanary检测内存泄漏?

URL系列——url模块(一)

根据图片的url地址下载图片到本地保存代码片段

结合两个代码片段?将用户输入的 Youtube url 转换为嵌入 url,然后将 iframe src 替换为转换后的 url

如何有条件地将 C 代码片段编译到我的 Perl 模块?