Android json post на страницу PHP

Привет, я пытаюсь опубликовать данные json на странице PHP через следующий код

URL obj = new URL(REST_URL);//(REST_URL + "?d_id=5&ds_remarks=" + et_text); HttpURLConnection con = (HttpURLConnection) obj .openConnection(); con.setRequestProperty("Content-type", "application/json"); con.setRequestProperty("Accept", "application/json"); con.setRequestMethod("POST"); con.setDoInput(true); con.setDoOutput(true); String body = "{"; body+="d_id:2,ds_remarks:" + et_text; System.out.println(et_text); body+="}"; DataOutputStream wr = new DataOutputStream( con.getOutputStream()); wr.writeBytes(body); wr.flush(); wr.close(); BufferedReader in = new BufferedReader( new InputStreamReader(con.getInputStream())); String inputLine; StringBuilder response = new StringBuilder(); while ((inputLine = in.readLine()) != null) { response.append(inputLine); } in.close(); responseString = response.toString(); Log.d("GetCourse", "Response Code: " + con.getResponseCode()); Log.d("Tag", "Response Stream : " + responseString); con.disconnect(); System.out.println("============================================="); return responseString; 

Я получаю ответ на PHP-страницу, но не получаю параметр d_id или ds_remarks на странице PHP. Я пытаюсь получить параметр с помощью этого кода

 $d_id = urldecode($_REQUEST['d_id']); $ds_remarks = urldecode($_REQUEST['ds_remarks']); 

Помогите мне получить параметр на странице PHP.

благодаря

Кажется, вы не добавили параметры ur в httppost, как показано ниже:

 List<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>(2); nameValuePairs.add(new BasicNameValuePair("d_id", "example")); nameValuePairs.add(new BasicNameValuePair("ds_remarks", "example")); httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs)); 

Открытие только соединения не опубликует ваши параметры.

Изменить :

 conn.setDoOutput(true); List<NameValuePair> params = new ArrayList<NameValuePair>(); params.add(new BasicNameValuePair("d_id", "example")); params.add(new BasicNameValuePair("ds_remarks", "example")); OutputStream os = conn.getOutputStream(); BufferedWriter writer = new BufferedWriter( new OutputStreamWriter(os, "UTF-8")); wr.write(formatQuery(params)); wr.flush(); wr.close(); os.close(); conn.connect(); private String formatQuery(List<NameValuePair> params) throws UnsupportedEncodingException { StringBuilder result = new StringBuilder(); boolean first = true; // append the params for (NameValuePair pair : params) { if (first) first = false; else result.append("&"); result.append(URLEncoder.encode(pair.getName(), "UTF-8")); result.append("="); result.append(URLEncoder.encode(pair.getValue(), "UTF-8")); } return result.toString(); }