我用下面的方式服务器获取的登录的账号和密码都是null,但是我直接砸url拼接的话会获取到值。我想请教下这是为什么。
public static String sendByPostMap(String url, Map params) {
String result;
OkHttpClient client = new OkHttpClient();
StringBuilder content = new StringBuilder();
Set> entrys = params.entrySet();
Iterator> iterator = params.entrySet().iterator();
while (iterator.hasNext()) {
Map.Entry entry = iterator.next();
content.append(entry.getKey()).append("=").append(entry.getValue());
if (iterator.hasNext()) {
content.append("&");
}
}
RequestBody requestBody = RequestBody.create(MEDIA_TYPE_TEXT, content.toString());
Request request = new Request.Builder().url(url).post(requestBody).build();
Response response = null;
try {
response = client.newCall(request).execute();
assert response.body() != null;
result = response.body().string();
System.out.println("result = " + result);
return result;
} catch (IOException e) {
e.printStackTrace();
}
return null;
}
public static void main(String[] args) {
//String url = "http://172.18.9.166:8080/user/login.kq";
//String url = "http://172.18.9.166:8899/demo/postByMap?loginName=admin&loginPassword=Hans1107laser";
String url = "http://172.18.9.166:8899/demo/postByMap";
Map params = new HashMap<>();
params.put("loginName", "admin");
params.put("loginPassword", "123456");
String result = sendByPostMap(url, params);
System.out.println("result = " + result);
}