W3Cschool
恭喜您成為首批注冊用戶
獲得88經(jīng)驗(yàn)值獎勵
java.lang.Object
|---ohos.utils.net.UrlQueryFilter
public class UrlQueryFilter
extends Object
提供基本的URL查詢分析能力,包括過濾無效字符和獲取查詢參數(shù)對。 一個簡單的例子如下:
UrlQueryFilter urlFilter = new UrlQueryFilter(); String url = "http://www.xxx:port/xxxx/xxxx?name=tom&name=lily&age=20"; urlFilter.parseUrl(url);
修飾符和類型 | 類 | 描述 |
---|---|---|
static class | UrlQueryFilter.ValueFilter | 表示用于過濾掉查詢字符串中的無效字符并將其替換為空格或下劃線 (_) 的過濾器。 |
構(gòu)造函數(shù) | 描述 |
---|---|
UrlQueryFilter() | 用于創(chuàng)建 UrlQueryFilter 實(shí)例的構(gòu)造函數(shù)。 |
修飾符和類型 | 方法 | Description |
---|---|---|
protected void | addParams(Pair<String,String> entry) | 將過濾后的參數(shù)鍵值對添加到內(nèi)部 List 和 Map 對象。 |
void | allowUnregisteredParameters(boolean allow) | 設(shè)置是否允許查詢未注冊的參數(shù)。 |
boolean | containParameter(String paramName) | 根據(jù)指定的key檢查是否存在查詢參數(shù)對。 |
static UrlQueryFilter.ValueFilter | filterEncodedUrl() | 獲得一個 ValueFilter,它允許編碼 URL 中的所有可能字符。 |
static UrlQueryFilter.ValueFilter | filterNulWithSpace() | Obtains a ValueFilter object that can replace /0 with a space. |
boolean | getFirstPriority() | 獲取可以將 /0 替換為空格的 ValueFilter 對象。 |
UrlQueryFilter.ValueFilter | getParameterFilter(String name) | 獲取指定參數(shù)鍵的ValueFilter。 |
List<Pair<String,String>> | getParamsListFiltered() | 獲取所有查詢參數(shù)在 URL 中出現(xiàn)的順序的 List<Pair<String,String>> 值。 |
Set<String> | getParamsSetFiltered() | 獲取包含所有查詢參數(shù)的鍵的 Set<String> 對象。 |
String | getParamValue(String paramName) | 獲取與 URL 查詢參數(shù)中指定鍵匹配的值。 |
UrlQueryFilter.ValueFilter | getUnregisteredParamFilter() | 獲取用于過濾掉未注冊參數(shù)的ValueFilter。 |
boolean | isAllowUnregisteredParameters() | 檢查是否允許查詢未注冊的參數(shù)。 |
protected void | parseParamPair(String name, String value) | 解析轉(zhuǎn)義的查詢參數(shù)對。 |
void | parseUrl(String url) | 解析指定的 URL。 |
void | parseUrlQuery(String query) | 解析 URL 的指定查詢字符串。 |
void | registerParameterFilter(String name, UrlQueryFilter.ValueFilter filter) | 為參數(shù)鍵指定一個 ValueFilter 以過濾掉該鍵值的無效字符。 |
void | setFirstPriority(boolean value) | 設(shè)置查詢參數(shù)對中重復(fù)鍵的值優(yōu)先級。 |
void | setUnregisteredParamFilter(UrlQueryFilter.ValueFilter filter) | 為未注冊的參數(shù)鍵設(shè)置一個 ValueFilter。 |
String | unescapeString(String str) | 對指定的字符串進(jìn)行轉(zhuǎn)義。 |
從類 java.lang.Object 繼承的方法 |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
public UrlQueryFilter()
用于創(chuàng)建 UrlQueryFilter 實(shí)例的構(gòu)造函數(shù)。
public static final UrlQueryFilter.ValueFilter filterNulWithSpace()
獲取可以將 /0 替換為空格的 ValueFilter 對象。
返回:
返回獲取的 ValueFilter 對象。
public static final UrlQueryFilter.ValueFilter filterEncodedUrl()
獲得一個 ValueFilter,它允許編碼 URL 中的所有可能字符。
腳本 URL 不支持此方法。
返回:
返回ValueFilter
public List<Pair<String,String>> getParamsListFiltered()
獲取所有查詢參數(shù)在 URL 中出現(xiàn)的順序的 List<Pair<String,String>> 值。
您應(yīng)該在執(zhí)行 parseUrl(java.lang.String) 方法后調(diào)用此方法。
返回:
返回一個 List<Pair<String, String>> 對象,該對象包含過濾后的所有 URL 查詢參數(shù)對。
public Set<String> getParamsSetFiltered()
獲取包含所有查詢參數(shù)的鍵的 Set<String> 對象。
您應(yīng)該在執(zhí)行 parseUrl(java.lang.String) 方法后調(diào)用此方法。 Set<String> 對象不包含重復(fù)鍵。
返回:
返回包含所有查詢參數(shù)的鍵的 Set<String> 對象。
public void setFirstPriority(boolean value)
設(shè)置查詢參數(shù)對中重復(fù)鍵的值優(yōu)先級。
如果 value 設(shè)置為 true,則匹配第一個 key 的 value 具有最高優(yōu)先級。 如果 value 為 false(默認(rèn)設(shè)置),則匹配最后一個鍵的 value 具有最高優(yōu)先級。
參數(shù):
參數(shù)名稱 | 參數(shù)描述 |
---|---|
value | 指定如果參數(shù)對中存在重復(fù)鍵,則匹配第一個鍵的值是否具有最高優(yōu)先級。 |
public boolean getFirstPriority()
檢查與參數(shù)對中第一個重復(fù)鍵匹配的值是否具有最高優(yōu)先級。
返回:
如果第一個鍵的值具有最高優(yōu)先級,則返回 true; 否則返回 false。
public String getParamValue(String paramName)
獲取與 URL 查詢參數(shù)中指定鍵匹配的值。
如果鍵不存在,則返回 null。
參數(shù):
參數(shù)名稱 | 參數(shù)描述 |
---|---|
paramName | 指示要在查詢參數(shù)中匹配的鍵。 |
返回:
如果找到匹配項(xiàng),則返回值; 否則返回 null。
public boolean containParameter(String paramName)
根據(jù)指定的key檢查是否存在查詢參數(shù)對。
參數(shù):
參數(shù)名稱 | 參數(shù)描述 |
---|---|
paramName | 表示要檢查的查詢參數(shù)對的鍵。 |
返回:
如果查詢參數(shù)對存在,則返回 true; 否則返回 false。
public void parseUrl(String url)
解析指定的 URL。
該方法提取 URL 中的查詢字符串,然后調(diào)用 parseUrlQuery(java.lang.String) 來解析查詢字符串。
參數(shù):
參數(shù)名稱 | 參數(shù)描述 |
---|---|
url | 表示要解析的URL。 |
Throws:
Throw名稱 | Throw描述 |
---|---|
NullPointerException | 如果特定 url 為空,則拋出此異常。 |
public void parseUrlQuery(String query)
解析 URL 的指定查詢字符串。
如果沒有給key賦值,查詢參數(shù)的key-value對會被解析為空String。
參數(shù):
參數(shù)名稱 | 參數(shù)描述 |
---|---|
query | 指示要解析的 URL 查詢字符串。 |
Throws:
Throw名稱 | Throw描述 |
---|---|
NullPointerException | 如果特定查詢?yōu)榭?,則引發(fā)此異常。 |
public void registerParameterFilter(String name, UrlQueryFilter.ValueFilter filter)
為參數(shù)鍵指定一個 ValueFilter 以過濾掉該鍵值的無效字符。
參數(shù):
參數(shù)名稱 | 參數(shù)描述 |
---|---|
name | 表示參數(shù)的key。 |
filter | 指示要為鍵指定的 ValueFilter。 如果該值為空,則已注冊的鍵的 ValueFilter 將被移除。 |
public UrlQueryFilter.ValueFilter getParameterFilter(String name)
獲取指定參數(shù)鍵的ValueFilter。
如果參數(shù)key沒有注冊,則返回null。
參數(shù):
參數(shù)名稱 | 參數(shù)描述 |
---|---|
name | 表示獲取其ValueFilter的key。 |
返回:
如果參數(shù)鍵已注冊,則返回 ValueFilter; 如果找不到密鑰,則返回 null。
public void setUnregisteredParamFilter(UrlQueryFilter.ValueFilter filter)
為未注冊的參數(shù)鍵設(shè)置一個 ValueFilter。
如果沒有設(shè)置 ValueFilter 但允許未注冊的參數(shù),則默認(rèn)的 ValueFilter 將用于過濾掉所有特殊字符。
參數(shù):
參數(shù)名稱 | 參數(shù)描述 |
---|---|
filter | 表示用于過濾未注冊參數(shù)值的 ValueFilter。 |
public UrlQueryFilter.ValueFilter getUnregisteredParamFilter()
獲取用于過濾掉未注冊參數(shù)的ValueFilter。
返回:
返回ValueFilter。
public void allowUnregisteredParameters(boolean allow)
設(shè)置是否允許查詢未注冊的參數(shù)。
默認(rèn)情況下,未注冊的參數(shù)不能用于查詢。
參數(shù):
參數(shù)名稱 | 參數(shù)描述 |
---|---|
allow | 指定是否允許查詢未注冊的參數(shù)。 true 表示允許未注冊的參數(shù),false 表示相反。 |
public boolean isAllowUnregisteredParameters()
檢查是否允許查詢未注冊的參數(shù)。
默認(rèn)情況下,未注冊的參數(shù)不能用于查詢。
返回:
如果允許未注冊的參數(shù),則返回 true; 否則返回 false。
public String unescapeString(String str)
對指定的字符串進(jìn)行轉(zhuǎn)義。
此方法將字符串中的 '+' 替換為 ' ',并將轉(zhuǎn)義字符 '%xx' 替換為相應(yīng)的字符。 無效的轉(zhuǎn)義字符不會被替換。
參數(shù):
參數(shù)名稱 | 參數(shù)描述 |
---|---|
str | 指示要取消轉(zhuǎn)義的字符串。 |
返回:
返回未轉(zhuǎn)義的字符串。
protected void parseParamPair(String name, String value)
解析轉(zhuǎn)義的查詢參數(shù)對。
這個方法可以重載。 默認(rèn)情況下,轉(zhuǎn)義參數(shù)對使用其鍵的 ValueFilter 來過濾其值。 過濾后的參數(shù)對存儲在內(nèi)部 Map 和 List 對象中。
參數(shù):
參數(shù)名稱 | 參數(shù)描述 |
---|---|
name | 表示要解析的查詢參數(shù)對的鍵。 |
value | 指示要解析的查詢參數(shù)對的值。 |
protected void addParams(Pair<String,String> entry)
將過濾后的參數(shù)鍵值對添加到內(nèi)部 List 和 Map 對象。
如果傳遞給 setFirstPriority(boolean) 方法的 value 參數(shù)設(shè)置為 true,則在重復(fù) key 的情況下使用匹配第一個添加 key 的 value; 否則,與最后添加的鍵匹配的值生效。
參數(shù):
參數(shù)名稱 | 參數(shù)描述 |
---|---|
entry | 表示過濾后要添加的參數(shù)鍵值對。 |
Copyright©2021 w3cschool編程獅|閩ICP備15016281號-3|閩公網(wǎng)安備35020302033924號
違法和不良信息舉報電話:173-0602-2364|舉報郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號
聯(lián)系方式:
更多建議: