From e2d14a5ea75905d961415788a1e01158267ae2d0 Mon Sep 17 00:00:00 2001 From: Tunglies <77394545+Tunglies@users.noreply.github.com> Date: Mon, 25 May 2026 23:07:50 +0800 Subject: [PATCH] fix: support empty basic auth passwords --- Changelog.md | 3 ++- src-tauri/src/utils/network.rs | 6 ++---- 2 files changed, 4 insertions(+), 5 deletions(-) diff --git a/Changelog.md b/Changelog.md index 2120fbaf6..da2b2f17f 100644 --- a/Changelog.md +++ b/Changelog.md @@ -3,8 +3,9 @@ ### 🐞 修复问题 - macOS 托盘速率可能的样式错误 -- 修复 订阅导入 TLS 1.0/1.1 等过旧协议时显示更明确错误原因 +- 修复订阅 TLS 1.0/1.1 等过旧协议时显示更明确错误原因 - 修复 gzip 压缩订阅响应被当作无效 YAML 导致导入失败的问题 +- 修复订阅 URL 使用空密码 Basic Auth 时未发送认证信息的问题
✨ 新增功能 diff --git a/src-tauri/src/utils/network.rs b/src-tauri/src/utils/network.rs index 9fc30f36f..e9463cc99 100644 --- a/src-tauri/src/utils/network.rs +++ b/src-tauri/src/utils/network.rs @@ -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);