【发布时间】:2011-07-19 07:46:07
【问题描述】:
有没有一种标准的方法来比较 Python 中的两个 url - 在这个例子中实现 are_url_the_same:
url_1 = 'http://www.foo.com/bar?a=b&c=d'
url_2 = 'http://www.foo.com:80/bar?c=d;a=b'
if are_urls_the_same(url_1, url2):
print "URLs are the same"
我的意思是他们访问相同的资源 - 所以示例中的两个 url 是相同的。
【问题讨论】:
-
虽然主机名相同,但由于 HTTP 默认使用端口 80,查询字符串完全不同。
-
严格来说,重新排序查询参数必须得到相同的资源。顺序是可观察的,并且对于某些(病态)服务可能是显而易见的。