在Google App Engine(Python)中如何在RequestHandler外部获取请求URI

1 投票
2 回答
804 浏览
提问于 2025-04-15 15:12

在一个叫做webapp.RequestHandler的类里面,我可以用self.request.uri来获取请求的地址。但是在这个RequestHandler之外,我就无法访问这个地址了,所以没办法。有谁有什么好主意吗?

我正在使用Python,而且我对它和GAE都还很陌生。

2 个回答

0

既然在代码处理之外使用请求是没有意义的,我想你是希望从某个处理程序调用的方法中访问它,而不想把请求传递给这个方法。你可以选择:

  1. 重构代码,把请求传递给这个方法。
  2. 如果重构不行,可以用一个小技巧,定义一个全局的 threading.local(),在请求处理程序中存储请求,然后在你的方法中访问它。
2

一般来说,你应该在某种请求处理器(RequestHandler)里完成所有操作,或者在你使用的非WebApp框架中找到类似的东西。不过,如果你真的坚持要用早期90年代的方式,写一些普通的CGI脚本,那么环境变量SERVER_NAME和PATH_INFO可能就是你需要的;想了解更多信息,可以查阅CGI的相关资料。

撰写回答