簡體   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