URL常用解析方式

本文介绍了URL的常见解析方式,包括如何获取请求URL、PATH值、参数处理以及如何判断URL的第一个子目录。示例代码展示了如何从`http://localhost/aaaa/bbbb/cccc?x=y`中提取路径和子目录,并提供了相关函数的使用说明。

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

先上一段代码说明之。

var url     = require("url"),
    path    = require("path");

module.exports = function(req, res, next){
    var REQURL = url.parse(req.url).pathname;
    console.log(req.url," REQURL=",REQURL);
    var PATH = path.basename(REQURL);
    console.log(req.url," PATH=",PATH);
    next(); 
};

如果req对应的url请求地址为http://localhost/aaaa/bbbb/cccc?x=y

那么,其中REQURL值为”/aaaa/bbbb/cccc”,PATH的值为”cccc”(最后一个/号后面的内容,且不带’/’号和问号),本身req.url的值为”/aaaa/bbbb/cccc?x=y”(就是网址主机后面整个部分)

判断请求的url是否等于某一个位置”/xxx”,可以这样:

if (req.url == "/xxx") {
    //your code
} else next();

但是上面的是完全判断,req.url中带了参数,如果需要纯粹的判断,可以用这个url.parse(req.url).pathname,也就是上面的REQURL。

提取url中的参数和获得post参数可以看另一篇博客。

判断url的第一个请求子目录是否为”/xxxx”可以这样做:

var     path    = require("path");
var PATH = req.url.toString();
if (PATH.indexOf("/xxxx") == 0){
    // your code
} else next();

关于Buffer.indexOf()这个函数的具体说明,可以看这里

新手入门,写个备忘,菊苣们见谅。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值