kunfei 4 سال پیش
والد
کامیت
8d6de2104f
2فایلهای تغییر یافته به همراه29 افزوده شده و 1 حذف شده
  1. 1 1
      app/src/main/java/io/legado/app/help/AppWebDav.kt
  2. 28 0
      app/src/main/java/io/legado/app/utils/UrlUtil.kt

+ 1 - 1
app/src/main/java/io/legado/app/help/AppWebDav.kt

@@ -230,7 +230,7 @@ object AppWebDav {
     }
 
     private fun getProgressUrl(name: String, author: String): String {
-        return bookProgressUrl + name + "_" + author + ".json"
+        return bookProgressUrl + UrlUtil.replaceReservedChar("${name}_${author}") + ".json"
     }
 
     /**

+ 28 - 0
app/src/main/java/io/legado/app/utils/UrlUtil.kt

@@ -0,0 +1,28 @@
+package io.legado.app.utils
+
+object UrlUtil {
+
+    fun replaceReservedChar(text: String): String {
+        return text.replace("%", "%25")
+            .replace(" ", "%20")
+            .replace("\"", "%22")
+            .replace("#", "%23")
+            .replace("&", "%26")
+            .replace("(", "%28")
+            .replace(")", "%29")
+            .replace("+", "%2B")
+            .replace(",", "%2C")
+            .replace("/", "%2F")
+            .replace(":", "%3A")
+            .replace(";", "%3B")
+            .replace("<", "%3C")
+            .replace("=", "%3D")
+            .replace(">", "%3E")
+            .replace("?", "%3F")
+            .replace("@", "%40")
+            .replace("\\", "%5C")
+            .replace("|", "%7C")
+    }
+
+
+}