mirror of
https://github.com/lanyeeee/bilibili-video-downloader.git
synced 2026-08-28 19:47:24 +08:00
feat: 支持未进行URL编码的SESSDATA
This commit is contained in:
Generated
+7
@@ -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"
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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}")
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user