0
가 나는 REST 서비스에 대한 포스트 방법을 할 노력하고있어,하지만 난 서버에서 어떠한 응답을받지 못했습니다 반환POST 기능은 빈 응답
public JSONObject postValues (String strUrl, String strJsonArray) throws Exception{
JSONObject jsonObject = null;
URL url = new URL(strUrl);
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
conn.setReadTimeout(10000);
conn.setConnectTimeout(15000);
conn.setDoOutput(true);
conn.setDoInput(true);
conn.setRequestMethod("POST");
conn.setRequestProperty("Content-Type", "application/x-www-form-urlencoded");
strJsonArray = "data=" + strJsonArray;
Log.e("result",""+strJsonArray);
OutputStream os = conn.getOutputStream();
os.write(strJsonArray.getBytes());
os.flush();
conn.connect();
if (conn.getResponseCode() != 200) {
throw new RuntimeException("Failed : HTTP error code : "
+ conn.getResponseCode());
}
BufferedReader br = new BufferedReader(new InputStreamReader(
(conn.getInputStream())));
String output;
StringBuilder sb = new StringBuilder();
System.out.println("Output from Server .... \n");
while ((output = br.readLine()) != null) {
Log.e("output",output);
sb.append(output);
}
Log.e("output",sb.toString());
jsonObject = new JSONObject(sb.toString());
conn.disconnect();
return jsonObject;
}
내 로그 캣는 GET 볼 때 :
output {}
google 크롬의 "고급 REST 클라이언트"플러그인을 사용하고 있기 때문에 서버가 올바르게 작동하고 있다는 것을 알고 있습니다.
{"message":"OK","code":200}
을하지만 내 기능을 사용하려고하면, 내 strJsonArray가 삽입되어 있지만 서버에서 빈 응답을 얻을 : 나는 (물론 플러그인을 사용하여) 수동으로 URL을 호출하면 내가 원하는 답변을 얻을.
내 코드에 문제가 있습니까? 당신은 전송 및 에뮬레이터와 크롬 나머지 클라이언트를 사용하여 서버로부터 수신 된 패킷을 캡처 와이어 샤크를 사용할 수
모든 것이 좋아 보인다
모두보기 좋아 ... Wireshark를 사용하여 에뮬레이터와 크롬 휴식 클라이언트를 사용하여 서버와주고받은 패킷을 캡처 할 수 있습니다. 그럼 당신은 그들을 비교할 수 있고 어쩌면 무엇이 잘못되었는지 찾아 낼 수 있습니다. 오류 스트림에서 뭔가가 있는지 확인할 수도 있습니다 ('conn.getErrorStream()'). –
답장을 보내 주셔서 감사합니다. 코드에는 아무런 문제가 없습니다. 문제는 서버에 있습니다. 도와 줘서 고마워. :) – kiduxa
좋아, :) 나는 대답으로 코멘트를 게시 했으므로 받아 들일 수있다;) –