Unescaping URL参数w / Web.py

时间:2013-02-01 18:29:11

标签: python python-2.7 web.py

阅读网址如下:

example.com/product/xy&z

urls = ('/product/(.*)', product)

在GET上的产​​品类中,我正在读取从URL中提取的产品ID(xy& z)以创建数据库查询。其中一些ID有'&'在他们中,当我在python中收到该值时,它已被转义。我没有运气,因此我可以正确运行查询。以下不起作用:

product = product.replace("&", "&")
product = HTMLParser.unescape.__func__(HTMLParser,product)

什么是Web.py甚至是Python的最佳实践?什么是我自己诊断这个的最佳方法?谢谢!

1 个答案:

答案 0 :(得分:0)

我正在获取这些产品ID,请参阅以下代码。

import web

urls = (
    "/product/(.*)", "Product"
)


class Product:
    def GET(self, product_id):
        return product_id


app = web.application(urls, globals())


if __name__ == "__main__":
    #app.run()
    assert web.__version__ == "0.37"
    b = app.browser()
    b.open('/product/xy&z')
    assert b.status == 200
    assert "xy&z" in b.data
    assert "xy&z" not in b.data
    b.open('/product/xy&z')
    assert "xy&z" in b.data

请提供未返回所需产品ID的失败网址。