Java 在使用eclipse将表单数据发布到php服务器时,如何获得正确的响应?
我将json数据发布到服务器,但在得到响应时,应该是这样的Java 在使用eclipse将表单数据发布到php服务器时,如何获得正确的响应?,java,json,eclipse,post,form-data,Java,Json,Eclipse,Post,Form Data,我将json数据发布到服务器,但在得到响应时,应该是这样的 {"id":65,"check":1,"date":"08-Jan-19"} 相反,我得到了这个 {"id":"65check=1","check":null,"date":"08-Jan-19"} 这是单击按钮向服务器发送json表单数据时的代码,但作为响应,id值附加到检查值,如何获得正确的响应 Attendance_TimeCheck = "1"; users_identify = "65";
{"id":65,"check":1,"date":"08-Jan-19"}
相反,我得到了这个
{"id":"65check=1","check":null,"date":"08-Jan-19"}
这是单击按钮向服务器发送json表单数据时的代码,但作为响应,id值附加到检查值,如何获得正确的响应
Attendance_TimeCheck = "1";
users_identify = "65";
try {
URL urlForPostRequest = new URL("http://xenzet.com/ds/getrec.php");
System.out.println("Instantiated new URL: " + urlForPostRequest);
final long id = Long.valueOf(users_identify);
HttpURLConnection conection = (HttpURLConnection) urlForPostRequest.openConnection();
conection.setDoOutput(true);
conection.setRequestMethod("POST");
conection.setRequestProperty("User-Agent", "Mozilla/5.0");
conection.getOutputStream().write(("id="+id).getBytes(StandardCharsets.UTF_8));
conection.getOutputStream().write(("check="+Attendance_TimeCheck).getBytes(StandardCharsets.UTF_8));
conection.connect();
BufferedInputStream bis = new BufferedInputStream(conection.getInputStream());
ByteArrayOutputStream bos = new ByteArrayOutputStream();
int resultBuffer = bis.read();
while (resultBuffer != -1) {
bos.write((byte) resultBuffer);
resultBuffer = bis.read();
}
String result1 = bos.toString();
System.out.println(result1);
} catch (Exception ex) {
ex.printStackTrace();
}
我认为字符串读取错误。检查传递给POST请求的有效负载
conection.getOutputStream().write(("id="+id).getBytes(StandardCharsets.UTF_8));
conection.getOutputStream().write(("check="+Attendance_TimeCheck).getBytes(StandardCharsets.UTF_8));
“id=”+id
后跟“check=”+attention\u TimeCheck
将导致“id”:“65check=1”
在queryparamcheck
之前添加符号AND以获得所需结果
conction.getOutputStream().write((“&check=“+attention\u TimeCheck”).getBytes(StandardCharsets.UTF\u 8))代码>