作者:MICH泪的矿脉AEI | 来源:互联网 | 2023-06-03 12:17
1 **今天在做项目时需要请求一个OA接口,在postMan中可以请求并且访问成功,但是在java代码中,数据是一样的,却报400错误,是不是我的访问方法有问题,还是没有进行浏览器识别,求大神指点
1
| **今天在做项目时需要请求一个OA接口,在postMan中可以请求并且访问成功,但是在java代码中,数据是一样的,却报400错误,是不是我的访问方法有问题,还是没有进行浏览器识别,求大神指点一二 |
代码如**下
`List
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
| List |
public String bindUSERPost(Map userListmap) {
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43
| JSONArray jsOnArray= new JSONArray();
jsonArray.add(userListmap);
JSONObject object = new JSONObject();
//组装的数据和postMan里面的数据一致
object.put("userlist", jsonArray);
try {
logger.info(object.toJSONString()+"---------------------------");
URL realUrl = new URL(BINDIND);
HttpURLConnection cOnn= (HttpURLConnection)realUrl.openConnection();
conn.setDoOutput(true);
conn.setDoInput(true);
conn.setUseCaches(false);
conn.setRequestMethod("POST");
conn.setRequestProperty("Connection", "Keep-Alive");
conn.setRequestProperty("Charset", "UTF-8");
byte [] data = (object.toString()).getBytes();
conn.setRequestProperty("Content-Length",
String.valueOf(data.length));
conn.setRequestProperty("Content-Type", "application/json");
//在调取TOKEN接口时已经设为了全部变量,这里是有值的
conn.setRequestProperty("token", tokenID);
conn.connect();
DataOutputStream out =new
DataOutputStream(conn.getOutputStream());
out.write((jsonArray.toString()).getBytes());
logger.info(conn.getResponseCode()+"返回的状态码");
if (conn.getResponseCode() == 200) {
logger.info("---------------请求成功-----------------");
//请求返回的数据
InputStream in = conn.getInputStream();
byte[] datas = new byte[in.available()];
in.read(datas);
String msg = new String(datas);
}else {
logger.info("-------请求出现415错误--------");
}
out.flush();
out.close();
} catch (Exception e) {
logger.info("------------------------------------------");
}
return "";
}` |