UrlQuerySanitizer 中未注册的参数是什么?
What is an unregistered parameter in a UrlQuerySanitizer?
参考 UrlQuerySanitizer
的 Android 文档:
open fun getAllowUnregisteredParamaters(): Boolean
open fun setAllowUnregisteredParamaters(allowUnregisteredParamaters: Boolean): Unit
Get whether or not unregistered parameters are allowed. If not
allowed, they will be dropped when a query is parsed.
这是什么意思,为什么要设置它?
在弄乱了这些方法之后,注册参数似乎允许它们在解析 url.
时 被检测到
调用此 return null
:
sanitizer.parseQuery("crcat=test&crsource=test&crkw=buy-a-lot")
sanitizer.getValue("crcat")
在调用此 return 时 "test"
:
sanitizer.registerParameter("crcat", UrlQuerySanitizer.getUrlLegal())
sanitizer.parseQuery("crcat=test&crsource=test&crkw=buy-a-lot")
sanitizer.getValue("crcat")
注册参数时,您指定的是字符串中预期的 url 编码。
因此通过调用setAllowUnregisteredParamaters(true)
,您无需手动注册每个要解析的参数。
参考 UrlQuerySanitizer
的 Android 文档:
open fun getAllowUnregisteredParamaters(): Boolean
open fun setAllowUnregisteredParamaters(allowUnregisteredParamaters: Boolean): Unit
Get whether or not unregistered parameters are allowed. If not allowed, they will be dropped when a query is parsed.
这是什么意思,为什么要设置它?
在弄乱了这些方法之后,注册参数似乎允许它们在解析 url.
时 被检测到调用此 return null
:
sanitizer.parseQuery("crcat=test&crsource=test&crkw=buy-a-lot")
sanitizer.getValue("crcat")
在调用此 return 时 "test"
:
sanitizer.registerParameter("crcat", UrlQuerySanitizer.getUrlLegal())
sanitizer.parseQuery("crcat=test&crsource=test&crkw=buy-a-lot")
sanitizer.getValue("crcat")
注册参数时,您指定的是字符串中预期的 url 编码。
因此通过调用setAllowUnregisteredParamaters(true)
,您无需手动注册每个要解析的参数。