Dim s
s = url_content
' ═══ 第 1 步:% 自身先实体化(防 %253C → %3C → < 绕过)═══
s = Replace(s, "%25", "%", 1, -1, 1)
' ═══ 第 2 步:危险字符 → 命名 HTML 实体 ═══
s = Replace(s, "%3C", "<", 1, -1, 1) ' <
s = Replace(s, "%3E", ">", 1, -1, 1) ' >
s = Replace(s, "%22", """, 1, -1, 1) ' "
s = Replace(s, "%27", "'", 1, -1, 1) ' '
s = Replace(s, "%26", "&", 1, -1, 1) ' &
s = Replace(s, "%60", "`", 1, -1, 1) ' `
' ═══ 第 3 步:其余可读字符 → 数字实体(浏览器渲染后依然是原字符)═══
s = Replace(s, "%3B", ";", 1, -1, 1) ' ;
s = Replace(s, "%3A", ":", 1, -1, 1) ' :
s = Replace(s, "%2F", "/", 1, -1, 1) ' /
s = Replace(s, "%3F", "?", 1, -1, 1) ' ?
s = Replace(s, "%23", "#", 1, -1, 1) ' #
s = Replace(s, "%3D", "=", 1, -1, 1) ' =
s = Replace(s, "%20", " ", 1, -1, 1) ' 空格
s = Replace(s, "%2B", "+", 1, -1, 1) ' +
s = Replace(s, "%2C", ",", 1, -1, 1) ' ,
s = Replace(s, "%28", "(", 1, -1, 1) ' (
s = Replace(s, "%29", ")", 1, -1, 1) ' )
s = Replace(s, "%21", "!", 1, -1, 1) ' !
s = Replace(s, "%24", "$", 1, -1, 1) ' $
s = Replace(s, "%2A", "*", 1, -1, 1) ' *
s = Replace(s, "%40", "@", 1, -1, 1) ' @
s = Replace(s, "%7E", "~", 1, -1, 1) ' ~
s = Replace(s, "%5B", "[", 1, -1, 1) ' [
s = Replace(s, "%5D", "]", 1, -1, 1) ' ]
s = Replace(s, "%7B", "{", 1, -1, 1) ' {
s = Replace(s, "%7D", "}", 1, -1, 1) ' }
s = Replace(s, "%5E", "^", 1, -1, 1) ' ^
s = Replace(s, "%7C", "|", 1, -1, 1) ' |
s = Replace(s, "%5C", "\", 1, -1, 1) ' \
s = Replace(s, "%5F", "_", 1, -1, 1) ' _
s = Replace(s, "%2D", "-", 1, -1, 1) ' -
s = Replace(s, "%2E", ".", 1, -1, 1) ' .
s = Replace(s, "%0A", " ", 1, -1, 1) ' 换行
s = Replace(s, "%0D", " ", 1, -1, 1) ' 回车
s = Replace(s, "%09", "	", 1, -1, 1) ' Tab