0

我正在为“抛出” URL 字符串错误的重定向编写 Django 测试,但我想在没有脆弱的正则表达式的情况下进行。

def test_redirect_contains_error_string(self):
    response = self.client.get('/sendme/', follow=True)
    // response.redirect_chain: [('https://e.com/?error=errortype', 302)]
    url = response.redirect_chain[0][0]
    self.assertTrue(re.search('error=errortype', url))
    // Ew!

有没有一种方法可以将 URL 解析为类似 dict 的对象,所以我可以:

response_obj = something(url)
self.assertEquals(response_obj.get('error'), 'errortype')
4

1 回答 1

5

怎么样urlparse

>>> import urlparse
>>> zoo = urlparse.urlparse('http://www.example.com/foo?bar=zoo')
>>> urlparse.parse_qs(zoo.query)
{'bar': ['zoo']}
于 2012-10-10T20:34:14.430 回答