【发布时间】:2014-03-04 22:19:13
【问题描述】:
我正在尝试使用 python 更改 url 中的主机名,并且一直在使用 urlparse 模块一段时间,但没有找到令人满意的解决方案。例如,考虑 url:
https://www.google.dk:80/barbaz
我想将“www.google.dk”替换为例如“www.foo.dk”,所以我得到以下网址:
所以我要替换的部分是 urlparse.urlsplit 所指的主机名。我曾希望 urlsplit 的结果能让我做出改变,但结果类型 ParseResult 不允许我这样做。如果没有别的,我当然可以通过将所有部分与 + 一起附加来重建新的 url,但这会给我留下一些非常丑陋的代码,其中包含很多条件来在正确的地方获得“://”和“:” .
【问题讨论】:
-
我试图避免使用任何 if 语句,因为基本 url 是否具有端口号可能会有所不同。不过,根据您的回答,我似乎无法避免它:-)。感谢您的帮助。