當前位置: 首頁>>代碼示例>>Java>>正文


Java URIUtil.getQuery方法代碼示例

本文整理匯總了Java中org.apache.commons.httpclient.util.URIUtil.getQuery方法的典型用法代碼示例。如果您正苦於以下問題:Java URIUtil.getQuery方法的具體用法?Java URIUtil.getQuery怎麽用?Java URIUtil.getQuery使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在org.apache.commons.httpclient.util.URIUtil的用法示例。


在下文中一共展示了URIUtil.getQuery方法的3個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Java代碼示例。

示例1: getUpdateUri

import org.apache.commons.httpclient.util.URIUtil; //導入方法依賴的package包/類
public static String getUpdateUri(final String url, final boolean encrypt) {
    String updatedPath = null;
    try {
        final String query = URIUtil.getQuery(url);
        final URIBuilder builder = new URIBuilder(url);
        builder.removeQuery();

        final StringBuilder updatedQuery = new StringBuilder();
        final List<NameValuePair> queryParams = getUserDetails(query);
        final ListIterator<NameValuePair> iterator = queryParams.listIterator();
        while (iterator.hasNext()) {
            final NameValuePair param = iterator.next();
            String value = null;
            if ("password".equalsIgnoreCase(param.getName()) &&
                    param.getValue() != null) {
                value = encrypt ? DBEncryptionUtil.encrypt(param.getValue()) : DBEncryptionUtil.decrypt(param.getValue());
            } else {
                value = param.getValue();
            }

            if (updatedQuery.length() == 0) {
                updatedQuery.append(param.getName()).append('=')
                            .append(value);
            } else {
                updatedQuery.append('&').append(param.getName())
                            .append('=').append(value);
            }
        }

        String schemeAndHost = "";
        final URI newUri = builder.build();
        if (newUri.getScheme() != null) {
            schemeAndHost = newUri.getScheme() + "://" + newUri.getHost();
        }

        updatedPath = schemeAndHost + newUri.getPath() + "?" + updatedQuery;
    } catch (final URISyntaxException e) {
        throw new CloudRuntimeException("Couldn't generate an updated uri. " + e.getMessage());
    }

    return updatedPath;
}
 
開發者ID:MissionCriticalCloud,項目名稱:cosmic,代碼行數:43,代碼來源:UriUtils.java

示例2: verifyURLSignature

import org.apache.commons.httpclient.util.URIUtil; //導入方法依賴的package包/類
/**
 * 校驗一下URL上的簽名信息,確認這個請求來自敏行的服務器
 * 
 * @param queryString
 *            url的query String部分,例如 http://g.com?abc=1&de=2 的url,query
 *            string 為abc=1&de=2
 * @param securet
 *            ocu或者app的 securet。
 * @return true 如果簽名被認證。
 */
public boolean verifyURLSignature(String queryString, String secret) {

	String signed = null;
	String timestamp = null;
	String nonce = null;
	String mx_sso_token = null;
	String login_name = null;

	String qstring = queryString;
	if (queryString.startsWith("http://")
			|| queryString.startsWith("https://")) {

		qstring = URIUtil.getQuery(queryString);
	}

	ParameterParser pp = new ParameterParser();

	@SuppressWarnings("unchecked")
	List<NameValuePair> list = (List<NameValuePair>) pp.parse(qstring, '&');

	try {

		for (NameValuePair np : list) {

			if (np.getName().equals("timestamp")) {
				timestamp = URIUtil.decode(np.getValue());
				continue;
			}

			if (np.getName().equals("nonce")) {
				nonce = URIUtil.decode(np.getValue());
				continue;
			}

			if (np.getName().equals("login_name")) {
				login_name = URIUtil.decode(np.getValue());
				continue;
			}

			if (np.getName().equals("mx_sso_token")) {
				mx_sso_token = URIUtil.decode(np.getValue());
				continue;
			}

			if (np.getName().equals("signed")) {
				signed = URIUtil.decode(np.getValue());
				continue;
			}
		}

	} catch (URIException e) {
		throw new MxException("Query string not valid:" + queryString, e);
	}

	StringBuilder sb = new StringBuilder();
	sb.append(timestamp).append(":").append(nonce).append(":")
			.append(login_name).append(":").append(mx_sso_token);

	String t = HMACSHA1.getSignature(sb.toString(), secret);
	return t.equals(signed);

}
 
開發者ID:dehuinet,項目名稱:minxing_java_sdk,代碼行數:73,代碼來源:AppAccount.java

示例3: getUpdateUri

import org.apache.commons.httpclient.util.URIUtil; //導入方法依賴的package包/類
public static String getUpdateUri(String url, boolean encrypt) {
    String updatedPath = null;
    try {
        String query = URIUtil.getQuery(url);
        URIBuilder builder = new URIBuilder(url);
        builder.removeQuery();

        StringBuilder updatedQuery = new StringBuilder();
        List<NameValuePair> queryParams = getUserDetails(query);
        ListIterator<NameValuePair> iterator = queryParams.listIterator();
        while (iterator.hasNext()) {
            NameValuePair param = iterator.next();
            String value = null;
            if ("password".equalsIgnoreCase(param.getName()) &&
                    param.getValue() != null) {
                value = encrypt ? DBEncryptionUtil.encrypt(param.getValue()) : DBEncryptionUtil.decrypt(param.getValue());
            } else {
                value = param.getValue();
            }

            if (updatedQuery.length() == 0) {
                updatedQuery.append(param.getName()).append('=')
                        .append(value);
            } else {
                updatedQuery.append('&').append(param.getName())
                        .append('=').append(value);
            }
        }

        String schemeAndHost = "";
        URI newUri = builder.build();
        if (newUri.getScheme() != null) {
            schemeAndHost = newUri.getScheme() + "://" + newUri.getHost();
        }

        updatedPath = schemeAndHost + newUri.getPath() + "?" + updatedQuery;
    } catch (URISyntaxException e) {
        throw new CloudRuntimeException("Couldn't generate an updated uri. " + e.getMessage());
    }

    return updatedPath;
}
 
開發者ID:apache,項目名稱:cloudstack,代碼行數:43,代碼來源:UriUtils.java


注:本文中的org.apache.commons.httpclient.util.URIUtil.getQuery方法示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。