nodejs URL模块操作URL相关方法介绍

前端之家收集整理的这篇文章主要介绍了nodejs URL模块操作URL相关方法介绍前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

url模块

处理HTTP请求时url模块使用率超高,因为该模块允许解析URL、生成URL,以及拼接URL。首先我们来看看一个完整的URL的各组成部分。

代码如下:
我们可以使用.parse方法来将一个URL字符串转换为URL对象,示例如下。
代码如下:
{ protocol: 'http:', 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' } */
传给.parse方法的不一定要是一个完整的URL,例如在HTTP服务器回调函数中,request.url不包含协议头和域名,但同样可以用.parse方法解析。
代码如下:
"/foo/bar?a=b" url.parse(tmp); /* => { protocol: null, slashes: null, auth: null, host: null, port: null, hostname: null, hash: null, search: '?a=b', query: 'a=b', pathname: '/foo/bar', path: '/foo/bar?a=b', href: '/foo/bar?a=b' } */ }).listen(80);
.parse方法支持第二个和第三个布尔类型可选参数。第二个参数等于true时,该方法返回的URL对象中,query字段不再是一个字符串,而是一个经过querystring模块转换后的参数对象。第三个参数等于true时,该方法可以正确解析不带协议头的URL,例如//www.example.com/foo/bar。

反过来,format方法允许将一个URL对象转换为URL字符串,示例如下。

代码如下:
'http://www.example.com/p/a/t/h?query=string' */
另外,.resolve方法可以用于拼接URL,示例如下。
代码如下:

Query String

querystring模块用于实现URL参数字符串与参数对象的互相转换,示例如下。

代码如下:
{ foo: 'bar',baz: ['qux','quux'],corge: '' } */

querystring.stringify({ foo: 'bar',corge: '' });
/ =>
'foo=bar&baz=qux&baz=quux&corge='
/

原文链接:https://www.f2er.com/nodejs/55503.html

猜你在找的Node.js相关文章