如何用Python原生核心库构造含用户名密码的URL?
Python原生实现URL添加用户名密码
你可以使用Python标准库中的urllib.parse模块来实现该功能,无需依赖任何第三方库,步骤如下:
- 导入
urllib.parse中的urlparse和urlunparse方法,这两个方法属于Python核心库范畴 - 用
urlparse解析原始URL,得到包含URL各组成部分的ParseResult对象 - 修改
netloc字段(该字段存储域名及用户认证信息),添加指定的用户名和密码 - 通过
urlunparse重新组合修改后的URL各部分,生成最终的URL字符串
代码示例
from urllib.parse import urlparse, urlunparse # 解析目标URL parsed_url = urlparse("https://python.org") # 构造包含认证信息的netloc auth_netloc = f"foo:bar@{parsed_url.netloc}" # 替换原有netloc并生成新URL new_url = urlunparse(parsed_url._replace(netloc=auth_netloc)) print(new_url)
输出结果
https://foo:bar@python.org/
补充说明:如果原始URL已包含用户认证信息,上述代码会直接覆盖原有内容,这和JavaScript中URL类的行为完全一致。
内容的提问来源于stack exchange,提问作者Casey
相关产品推荐
相关产品推荐

