在URL解码之后,QueryString格式错误通常是因为存在不符合规定的字符。例如,空格、换行符、&符号等等。因此,在解码之前需要进行URL编码(如UTF-8编码),以避免错误的发生。
下面是通常使用的方法之一:
编码方法:
baseurl="https://www.example.com"
encodedurl="$baseurl?key=value&key2=value2"
encodedurlutf-8=$(echo -n "$encodedurl" | iconv -f utf-8 -t utf-16)
decodedurlutf-8=$(echo -n "$encodedurlutf-8" | iconv -f utf-16 -t utf-8)
decodedurl=$(echo -n "$decodedurlutf-8" | jq --arg key "$myvar" '.["$key"].url' --arg value "$myvar2" --raw-output)
jq --arg key "$value" --arg key2 "$key2" '
}' "$ decodedurl " > "$ decodedurl ".json
jq --arg key "$value" --arg key2 "$key2" --raw-output "$key=$value" "$ decodedurl ".json > "$ decodedurl ".txt
#使用decodeURIComponent解码QueryString
decodedQueryString=$(printf '%s=%s' "$?" "$key")
echo "$decodedQueryString"
以上是一个基本的思路,具体实现需要结合实际情况进行调整。
领取专属 10元无门槛券
手把手带您无忧上云