如何拼接GET请求的参数

来源:互联网 发布:湖南大学校园网域名 编辑:程序博客网 时间:2024/06/06 00:40

本人在做接口测试的过程中,之前写了一个用字符串替换的方法来处理get接口的参数拼接,后来优化了这个方法,兼容了中文字符提示非法字符的情况,使用了java自带的urlencode方法。包括第一种方法,之前传的是json。分享代码,供大家参考。

/** * 把json数据转化为参数,为get请求和post请求stringentity的时候使用 * @param argument *            请求参数,json数据类型,map类型,可转化 * @return 返回拼接参数后的地址 */@SuppressWarnings("unused")private String changeJsonToArguments(JSONObject argument) {String one = argument.toString();String two = "?" + one.substring(1, one.length() - 1).replace(",", "&").replace(":", "=").replace("\"", "");return two;}private String changeJsonToArguments(Map<String, String> apiCase) {Set<String> keys = apiCase.keySet();StringBuffer arg = new StringBuffer("?");for (String key : keys) {arg.append((key) + "=" + urlEncoderText(apiCase.get(key)) + "&");}return arg.deleteCharAt(arg.length() -1).toString();//此处为了兼容case内容为空}


中间加密的方法如下:

/** * url进行转码,常用于网络请求 *  * @param text *            需要加密的文本 * @return 返回加密后的文本 */public String urlEncoderText(String text) {String result = "";try {result = java.net.URLEncoder.encode(text, "utf-8");} catch (UnsupportedEncodingException e) {output("数据格式错误!");e.printStackTrace();}return result;}