python - 如何在python网页中获取当前URL?

标签 python web-applications

我是 Python 菜鸟。刚刚安装了它,并花了 2 个小时在谷歌上搜索如何获取在 URL 中发送到 Python 脚本的简单参数

找到 this

非常有帮助,除了我不知道如何替换世界上的任何东西

import urlparse
url = 'http://foo.appspot.com/abc?def=ghi'
parsed = urlparse.urlparse(url)
print urlparse.parse_qs(parsed.query)['def']

我应该用什么来替换 url = 'string' 以使其工作? 我只想访问 http://site.com/test/test.py?param=abc并看到 abc 打印出来。


Alex 回答后的最终代码:

url = os.environ["REQUEST_URI"] 
parsed = urlparse.urlparse(url) 
print urlparse.parse_qs(parsed.query)['param']

最佳答案

如果您没有任何库可以为您执行此操作,您可以从通过浏览器发送到您的脚本的 HTTP 请求构建您当前的 URL。

您感兴趣的 header 是 Host 以及 HTTP 方法之后的任何内容(在您的情况下可能是 GET)。 Here are some more explanations (第一个链接似乎没问题,您可以免费谷歌一些 :)。

This answer向您展示如何在 CGI 脚本中获取 header :

If you are running as a CGI, you can't read the HTTP header directly, but the web server put much of that information into environment variables for you. You can just pick it out of os.environ[].

如果您将此作为练习进行,那很好,因为您将了解幕后的内容。如果您正在构建任何可重用的东西,我建议您使用库或框架,这样您就不会在每次需要某些东西时都重新发明轮子。

关于python - 如何在python网页中获取当前URL?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14468862/

相关文章:

python - 从文本文件加载列表

扩展构建器模式的 Pythonic 方式

Python 官方安装程序缺少 python27.dll

python - 如何使用二维 bool 数组在 numpy 中逐行从一维数组中进行选择?

jquery - 动态生成表单

maven - 在父 pom 中使用子模块属性

javascript - 如何处理 AngularJS 中禁用的 JavaScript

database - 如何建立多语言网站?

javascript - touchmove开始时取消touchend事件

python - 为什么我的代码调试没有完成?