From e8f29aa371f36f9beb03b7639304e3c8a26e6b97 Mon Sep 17 00:00:00 2001 From: lanyeeee Date: Sun, 16 Aug 2026 05:54:13 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E6=94=AF=E6=8C=81=E6=9C=AA=E8=BF=9B?= =?UTF-8?q?=E8=A1=8CURL=E7=BC=96=E7=A0=81=E7=9A=84SESSDATA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src-tauri/Cargo.lock | 7 +++++++ src-tauri/Cargo.toml | 1 + src-tauri/src/bili_client.rs | 7 ++++++- 3 files changed, 14 insertions(+), 1 deletion(-) diff --git a/src-tauri/Cargo.lock b/src-tauri/Cargo.lock index da73f07..6a29c5a 100644 --- a/src-tauri/Cargo.lock +++ b/src-tauri/Cargo.lock @@ -323,6 +323,7 @@ dependencies = [ "tracing-appender", "tracing-error", "tracing-subscriber", + "urlencoding", "uuid", "yaserde", ] @@ -5133,6 +5134,12 @@ dependencies = [ "serde", ] +[[package]] +name = "urlencoding" +version = "2.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "daf8dba3b7eb870caf1ddeed7bc9d2a049f3cfdfae7cb521b087cc33ae4c49da" + [[package]] name = "urlpattern" version = "0.3.0" diff --git a/src-tauri/Cargo.toml b/src-tauri/Cargo.toml index 501d0c0..d55dac9 100644 --- a/src-tauri/Cargo.toml +++ b/src-tauri/Cargo.toml @@ -61,6 +61,7 @@ md-5 = { version = "0.10.6" } rand = { version = "0.9.1" } base64 = { version = "0.22.1" } rayon = { version = "1.12.0" } +urlencoding = { version = "2.1.3" } [profile.release] strip = true diff --git a/src-tauri/src/bili_client.rs b/src-tauri/src/bili_client.rs index f8361bb..40ea8fb 100644 --- a/src-tauri/src/bili_client.rs +++ b/src-tauri/src/bili_client.rs @@ -1098,7 +1098,12 @@ impl BiliClient { pub fn get_cookie(&self) -> String { let sessdata = self.app.get_config().read().sessdata.clone(); - format!("SESSDATA={}", sessdata.trim_end_matches(';')) + + let trimmed = sessdata.trim_end_matches(';'); + let decoded = urlencoding::decode(trimmed).unwrap_or_else(|_| trimmed.into()); + let encoded = urlencoding::encode(&decoded); + + format!("SESSDATA={encoded}") } }