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

时间:2021-05-26

url模块

处理HTTP请求时url模块使用率超高,因为该模块允许解析URL、生成URL,以及拼接URL。首先我们来看看一个完整的URL的各组成部分。
复制代码 代码如下:
href
-----------------------------------------------------------------
host path
--------------- ----------------------------
http: // user:pass @ host.com : 8080 /p/a/t/h ?query=string #hash
----- --------- -------- ---- -------- ------------- -----
protocol auth hostname port pathname search hash
------------
query

我们可以使用.parse方法来将一个URL字符串转换为URL对象,示例如下。
复制代码 代码如下:
url.parse('http://user:pass@host.com:8080/p/a/t/h?query=string#hash');


传给.parse方法的不一定要是一个完整的URL,例如在HTTP服务器回调函数中,request.url不包含协议头和域名,但同样可以用.parse方法解析。
复制代码 代码如下:
http.createServer(function (request, response) {
var tmp = request.url; // => "/foo/bar?a=b"
url.parse(tmp);

}).listen(80);

.parse方法还支持第二个和第三个布尔类型可选参数。第二个参数等于true时,该方法返回的URL对象中,query字段不再是一个字符串,而是一个经过querystring模块转换后的参数对象。第三个参数等于true时,该方法可以正确解析不带协议头的URL,例如///baz

*/

Query String

querystring模块用于实现URL参数字符串与参数对象的互相转换,示例如下。
复制代码 代码如下:
querystring.parse('foo=bar&baz=qux&baz=quux&corge');


querystring.stringify({ foo: 'bar', baz: ['qux', 'quux'], corge: '' });

声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

相关文章