fix: support empty basic auth passwords

This commit is contained in:
Tunglies
2026-05-25 23:12:44 +08:00
parent d75c4cf59e
commit e2d14a5ea7
2 changed files with 4 additions and 5 deletions
+2 -1
View File
@@ -3,8 +3,9 @@
### 🐞 修复问题
- macOS 托盘速率可能的样式错误
- 修复 订阅导入 TLS 1.0/1.1 等过旧协议时显示更明确错误原因
- 修复订阅 TLS 1.0/1.1 等过旧协议时显示更明确错误原因
- 修复 gzip 压缩订阅响应被当作无效 YAML 导致导入失败的问题
- 修复订阅 URL 使用空密码 Basic Auth 时未发送认证信息的问题
<details>
<summary><strong> ✨ 新增功能 </strong></summary>
+2 -4
View File
@@ -190,13 +190,11 @@ impl NetworkManager {
let mut parsed = Url::parse(url)?;
let mut extra_headers = HeaderMap::new();
if !parsed.username().is_empty()
&& let Some(pass) = parsed.password()
{
if !parsed.username().is_empty() {
let username = percent_encoding::percent_decode_str(parsed.username())
.decode_utf8_lossy()
.into_owned();
let password = percent_encoding::percent_decode_str(pass)
let password = percent_encoding::percent_decode_str(parsed.password().unwrap_or_default())
.decode_utf8_lossy()
.into_owned();
let auth_str = format!("{}:{}", username, password);