本文目录导读:

- JavaScript (Node.js + Express)
- Python (Flask)
- Python (Django)
- PHP
- Shell/Bash 脚本中获取当前路由
- Java (Spring Boot)
- 综合示例(Node.js 通用)
- 关键点说明
获取路由路径的方法取决于你使用的编程语言和框架,以下是几种常见场景的脚本获取路由路径的方法:
JavaScript (Node.js + Express)
// 在请求处理中获取
app.get('/users/:id', (req, res) => {
console.log('完整路径:', req.originalUrl); // /users/123?page=1
console.log('请求路径:', req.path); // /users/123
console.log('基础路径:', req.baseUrl); // /users
console.log('路由路径:', req.route.path); // /users/:id
});
Python (Flask)
from flask import request
@app.route('/users/<int:id>')
def get_user(id):
print('请求路径:', request.path) # /users/123
print('完整URL:', request.url) # http://localhost:5000/users/123
print('基础路径:', request.base_url) # http://localhost:5000/
return 'Hello'
Python (Django)
from django.http import Http404
def my_view(request):
path = request.path # /users/123
full_path = request.get_full_path() # /users/123?page=1
return HttpResponse(f"路径: {path}")
PHP
<?php // 获取当前请求的完整路径 $requestPath = $_SERVER['REQUEST_URI']; // /users/123 $scriptPath = $_SERVER['SCRIPT_NAME']; // /index.php // 使用 Laravel 框架时 $request = Request::instance(); $path = $request->path(); // users/123 $fullUrl = $request->fullUrl(); // http://example.com/users/123 ?>
Shell/Bash 脚本中获取当前路由
#!/bin/bash
# 获取脚本自身的路径
SCRIPT_PATH="$( cd "$(dirname "$0")" >/dev/null 2>&1 ; pwd -P )"
SCRIPT_NAME="$(basename "$0")"
echo "脚本路径: $SCRIPT_PATH"
echo "脚本名称: $SCRIPT_NAME"
# 如果是通过 URL 访问(如 CGI)
if [ -n "$REQUEST_URI" ]; then
echo "请求路径: $REQUEST_URI"
fi
Java (Spring Boot)
@RestController
public class UserController {
@GetMapping("/users/{id}")
public ResponseEntity<?> getUser(@PathVariable String id,
HttpServletRequest request) {
System.out.println("请求路径: " + request.getRequestURI());
System.out.println("完整URL: " + request.getRequestURL());
System.out.println("查询参数: " + request.getQueryString());
return ResponseEntity.ok().build();
}
}
综合示例(Node.js 通用)
// 通用方法获取路由信息
function getRouteInfo(req) {
const routeInfo = {
method: req.method, // GET, POST, etc.
baseUrl: req.baseUrl, // /api
path: req.path, // /users/123
fullUrl: `${req.protocol}://${req.get('host')}${req.originalUrl}`,
query: req.query, // { page: '1' }
params: req.params, // { id: '123' }
originalUrl: req.originalUrl, // /users/123?page=1
route: req.route // 正则/参数路由信息
};
return routeInfo;
}
关键点说明
req.path- 只包含路径部分,不含查询字符串req.originalUrl/req.originalUrl- 包含完整路径和查询字符串req.baseUrl- 挂载的中间件前缀路径req.route.path- 定义时的路由模式
选择哪种方法取决于你的应用框架和具体需求,通常在实际开发中,你需要结合几个属性来获取完整的路由信息。
版权声明:足球直播
足球直播
足球直播
足球直播
足球直播
中超直播
中超直播
中超直播
中超直播
中超直播
英超直播
英超直播
英超直播
英超直播
英超直播
德甲直播
德甲直播
德甲直播
德甲直播
德甲直播
西甲直播
西甲直播
西甲直播
西甲直播
西甲直播
意甲直播
意甲直播
意甲直播
意甲直播
意甲直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
篮球直播
篮球直播
篮球直播
篮球直播
篮球直播
足球直播
足球直播
足球直播
足球直播
足球直播
中超直播
中超直播
中超直播
中超直播
中超直播
英超直播
英超直播
英超直播
英超直播
英超直播
德甲直播
德甲直播
德甲直播
德甲直播
德甲直播
西甲直播
西甲直播
西甲直播
西甲直播
西甲直播
意甲直播
意甲直播
意甲直播
意甲直播
意甲直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
篮球直播
篮球直播
篮球直播
篮球直播
篮球直播
足球直播
足球直播
足球直播
足球直播
足球直播
中超直播
中超直播
中超直播
中超直播
中超直播
英超直播
英超直播
英超直播
英超直播
英超直播
德甲直播
德甲直播
德甲直播
德甲直播
德甲直播
西甲直播
西甲直播
西甲直播
西甲直播
西甲直播
意甲直播
意甲直播
意甲直播
意甲直播
意甲直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
篮球直播
篮球直播
篮球直播
篮球直播
篮球直播