url核心模块

本文详细介绍了NodeJS中URL模块的使用方法,包括url.parse()、url.format()和url.resolve()三个核心函数,通过实例展示了如何解析、格式化和解决URL。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

NodeJS之URL模块

今天讲的是NodeJS里面的一个简单的小模块,即url模块;这个url模块要使用的话,需要先引入。

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:pass@host.com: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:pass@host.com:8080/p/a/t/h?query=string#hash'
  }

没有设置第二个参数为true时,query属性为一个字符串类

*/
  url.parse("http://user:pass@host.com: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:pass@host.com:8080/p/a/t/h?query=string#hash'
  }

没有设置第二个参数为true时,query属性为一个字符串类型
*/
  例子2 : url.parse第二个参数为true的情况

url.parse("http://user:pass@host.com: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:pass@host.com: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模块的三种方法就讲到这里了,不太全面的地方大家可以继续查阅其它资料哦。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值