fix(AnalyzeUrl): analyzeFields
This commit is contained in:
@@ -211,24 +211,29 @@ class AnalyzeUrl(
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 解析QueryMap
|
* 解析QueryMap <key>=<value>
|
||||||
|
* name=
|
||||||
|
* name=name
|
||||||
|
* name=<BASE64> eg name=bmFtZQ==
|
||||||
*/
|
*/
|
||||||
private fun analyzeFields(fieldsTxt: String) {
|
private fun analyzeFields(fieldsTxt: String) {
|
||||||
queryStr = fieldsTxt
|
queryStr = fieldsTxt
|
||||||
val queryS = fieldsTxt.splitNotBlank("&")
|
val queryS = fieldsTxt.splitNotBlank("&")
|
||||||
for (query in queryS) {
|
for (query in queryS) {
|
||||||
val queryM = query.splitNotBlank("=")
|
val separator = query.indexOf("=")
|
||||||
val value = if (queryM.size > 1) queryM[1] else ""
|
if (separator == -1) continue
|
||||||
|
val value = query.slice(separator + 1)
|
||||||
|
val key = query.slice(0, separator)
|
||||||
if (charset.isNullOrEmpty()) {
|
if (charset.isNullOrEmpty()) {
|
||||||
if (NetworkUtils.hasUrlEncoded(value)) {
|
if (NetworkUtils.hasUrlEncoded(value)) {
|
||||||
fieldMap[queryM[0]] = value
|
fieldMap[key] = value
|
||||||
} else {
|
} else {
|
||||||
fieldMap[queryM[0]] = URLEncoder.encode(value, "UTF-8")
|
fieldMap[key] = URLEncoder.encode(value, "UTF-8")
|
||||||
}
|
}
|
||||||
} else if (charset == "escape") {
|
} else if (charset == "escape") {
|
||||||
fieldMap[queryM[0]] = EncoderUtils.escape(value)
|
fieldMap[key] = EncoderUtils.escape(value)
|
||||||
} else {
|
} else {
|
||||||
fieldMap[queryM[0]] = URLEncoder.encode(value, charset)
|
fieldMap[key] = URLEncoder.encode(value, charset)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user