如何解析URI?

1 投票
2 回答
1543 浏览
提问于 2025-04-16 08:52

对于这个网址 http://foo.com/apple/123

我想提取出'123'这个部分。

根据GAE的文档,我可以使用self.request.get()来获取这个网址,但有没有什么简单的方法可以直接获取网址中的某些部分呢?

2 个回答

5

是的,Python里有一个叫做 urlparse 的模块。使用这个模块,你可以得到一个叫 ParseResult 的结果,它会把网址中的主机名和协议等信息整理得很清楚。然后你可以用字符串的 split() 方法,根据路径分隔符来分开这些信息。

4

如果你在使用网页应用程序,你可以“捕获”正则表达式中匹配到的部分,这些部分会作为参数传递给你的处理函数。举个例子:

class FooHandler(webapp.RequestHandler):
  def get(self, fruit, number):
    # Do something with your fruit and number (which are both strings, remember!)


application = webapp.WSGIApplication([
    ('/([^/]+)/(\d+)', FooHandler),
])

撰写回答