什么是UrlQuerySanitizer中的未注册参数?

问题描述 投票:0回答:1

参考UrlQuerySanitizer的Android文档:

https://developer.android.com/reference/kotlin/android/net/UrlQuerySanitizer.html#getallowunregisteredparamaters

open fun getAllowUnregisteredParamaters(): Boolean

open fun setAllowUnregisteredParamaters(allowUnregisteredParamaters: Boolean): Unit

获取是否允许使用未注册的参数。如果不允许,在解析查询时将删除它们。

这是什么意思,为什么要设置它?

android url query-parameters
1个回答
0
投票

在弄乱方法之后,似乎注册参数使它们在解析URL时被检测到

将此返回称为null

sanitizer.parseQuery("crcat=test&crsource=test&crkw=buy-a-lot")
sanitizer.getValue("crcat")

在调用时返回"test"

sanitizer.registerParameter("crcat", UrlQuerySanitizer.getUrlLegal())
sanitizer.parseQuery("crcat=test&crsource=test&crkw=buy-a-lot")
sanitizer.getValue("crcat")

注册参数时,您要在字符串中指定期望的URL编码。

因此,通过调用setAllowUnregisteredParamaters(true),您无需手动注册要解析的每个参数。

© www.soinside.com 2019 - 2024. All rights reserved.