繁体   English   中英

python:使用 os.environ 获取完整的 url

[英]python: getting the complete url with os.environ

我想使用 os.environ 获得 COMPLETE URL。 我正在用 voila 渲染笔记本,我想使用 URL 中的参数从仪表板打开 url。

到目前为止,我有:

URL_BASE = os.environ.get('SCRIPT_NAME')
PARAMETERS = os.environ.get("QUERY_STRING")
print(f'{URL_BASE=}')
print(f'{PARAMETERS=}')

假设这是 url:

https://flyingcar.org/john/voila/render/shared/users/j/john/learn_url.ipynb?redirects=2&name=john&dossier=SA123445#{whatever=no/f=5}

URL_BASE="flyingcar.org/john/voila/render/shared/users/j/john/learn_url.ipynb"
&
PARAMETERS="redirects=2&name=john&dossier=SA123445"

查看 os.environ 中的整个 vars 集合,我看不到任何包含整个 url(包括 # 之后的内容)以解析该部分以及参数。

captured_values = parse_qs(PARAMETERS)
print('here parse_qs of query:',captured_values)
>>> here parse_qs of query: {'d': ['34'], 'f': ['56']}

一些想法?

我尝试使用以下命令打印所有 os.environ 变量:

for k,v in os.environ.items():
    print(k,v)

但它似乎没有包含超出 URL 中的 # 符号的内容有什么想法吗? 谢谢

相关: 在 Python 中获取当前 URL

URI 的片段 (#) 部分永远不会离开用户代理,因此它不能被 python web 服务器拾取。 参见: https://datatracker.ietf.org/doc/html/rfc3986#page-24

...相反,片段标识符在取消引用之前与 URI 的 rest 分开,因此片段本身的标识信息仅由用户代理取消引用,而不管 URI 方案如何。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM