You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在网页中获取当前URL?环境:Microsoft Edge+Windows 10 Home+VS捆绑Python

嘿,我来帮你把这个问题理清楚!你提到了Python和网页场景,其实获取当前URL分两种常见情况,我都给你拆解一下:

场景1:浏览器前端直接获取(纯JavaScript)

既然你用的是Windows 10上的Edge浏览器,要是想在网页前端直接拿到当前页面的URL,用JavaScript就可以轻松搞定:

  • 想拿到完整的URL(包含协议、域名、路径、查询参数等所有部分),用 window.location.href
  • 只需要路径部分的话,用 window.location.pathname
  • 单独获取查询参数(就是?后面的部分),用 window.location.search

举个实际操作的例子:打开Edge的开发者工具(按F12),切换到「控制台」标签,输入下面的代码回车,就能看到当前页面的完整URL了:

console.log(window.location.href);
场景2:Python后端获取请求的URL(Web开发场景)

你用的是Visual Studio捆绑的Python,应该是在做Web开发吧?不同的Python Web框架,获取请求URL的方式略有差异,给你几个常用框架的实现:

Flask框架

在视图函数里,通过request对象就能拿到各种URL相关信息:

from flask import Flask, request

app = Flask(__name__)

@app.route('/')
def show_current_url():
    # 获取完整URL
    full_url = request.url
    # 获取协议+域名的基础URL
    base_url = request.base_url
    # 获取路径部分
    path = request.path
    return f"当前完整URL: {full_url}"

if __name__ == '__main__':
    app.run(debug=True)

Django框架

在Django的视图函数中,用request.build_absolute_uri()获取完整URL,或者通过request.path拿到路径部分:

from django.http import HttpResponse

def display_current_url(request):
    full_url = request.build_absolute_uri()
    path = request.path
    return HttpResponse(f"当前访问的完整URL是: {full_url}")

原生WSGI(无框架场景)

要是你用原生WSGI写简单的Web服务,可以从环境变量中拼接出完整URL:

def application(environ, start_response):
    # 拼接协议、域名、路径
    full_url = f"{environ['wsgi.url_scheme']}://{environ['HTTP_HOST']}{environ['PATH_INFO']}"
    # 如果有查询参数,拼接到后面
    if environ.get('QUERY_STRING'):
        full_url += f"?{environ['QUERY_STRING']}"
    start_response('200 OK', [('Content-Type', 'text/plain')])
    return [f"当前请求的URL: {full_url}".encode()]

小提醒:之前你查的内容如果没区分开前端和后端,可能会有点懵——前端是浏览器直接获取当前页面的URL,后端是Python在处理用户请求时,从请求对象里提取对应的URL信息,根据你的实际开发场景选择就行啦!

内容的提问来源于stack exchange,提问作者MickeyLater

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.19 08:37:48