我是 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/