在用okgo做网络请求的时候直接添加请求体,用key+value的形式
参数里面包含 123456@qq.com 会被转义成-> 123456%40qq.com
原因是:请求头默认的Content-Type: application/x-www-form-urlencoded
会对其进行转义,只要用
Content-Type: application/json; charset=utf-8
这个就不会转义了
MediaType parse = MediaType.parse("application/json; charset=utf-8");
JSONObject jsonObject = new JSONObject();
try {
jsonObject.put("code",BuildConfig.RPC_TOKEN);
jsonObject.put("account",account);
} catch (JSONException e) {
e.printStackTrace();
}
String json = jsonObject.toString();
RequestBody body = RequestBody.create(parse,json);
OkGo.<String>post(URL) //在这里设置请求地址和方式
.cacheMode(CacheMode.NO_CACHE)
.upRequestBody(body)
.execute(callback);