node.js中url模块

在Node服务端处理GET请求时,可使用URL模块解析请求链接的参数属性。介绍了URL模块的安装和引用方法,还说明了其功能,如解析请求链接、将字典转化为字符串请求链接、进行路径拼接等,并给出测试代码库和参考学习博客。

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

在node服务端,如果使用的是get请求,想对请求进行链接进行解析的话,可以使用url模块,解析出每一个参数属性。

  • url模块的使用

1.cd到项目路径 使用npm安装url模块

2.在工程中引用url模块,

var url = require('url');
  • url的功能

1)解析请求的链接 url.parse(path,boolean),path->需要解析的URL路径,boolean->解析的路径参数 是否转变成JSON格式,默认是false ,当为true的时候,query字段被解析成参数字典形式,为false时,还是保留字符串形式。

var originURL = 'http://user:pass@host.com:8080/p/a/t/h?query=string#hash';
var parseURL = parseUrl(originURL,true);
console.log(JSON.stringify(parseURL)+'解析parseURL');

解析结果:

{"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"
}
{"protocol":"http:",
"slashes":true,
"auth":"user:pass",
"host":"host.com:8080",
"port":"8080",
"hostname":"host.com",
"hash":"#hash",
"search":"?query=string&user=test",
"query":"query=string&user=test",
"pathname":"/p/a/t/h",
"path":"/p/a/t/h?query=string&user=test",
"href":"http://user:pass@host.com:8080/p/a/t/h?query=string&user=test#hash"
}

2)可以将一个HTTP请求路径的字典 转化成 字符串请求链接,使用url.format(json字典)

var URLJson ={"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"
};
console.log(url.format(URLJson)+"连接字典拼接字符串");

拼接的请求路径结果: 

3)url使用函数resole(path1,path2),进行路径的拼接

var  resolveURL= url.resolve('http://www.baidu.com','tieba/xiaofeiniao/test');
console.log(resolveURL+"路径拼接");

拼接的请求路径结果:

测试代码库:https://github.com/ioszhanghui/NodeDemo

参考学习博客:

https://www.cnblogs.com/whiteMu/p/5983125.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值