Я пытаюсь отправить POST JSON данные на сервер. Используя this page в качестве шаблона, так как он использует современные HttpURLConnection
.Метод JAVA POST не отправляется на страницу
Хотя я пробовал несколько способов, это возвращает только HTML-сообщение фактической страницы. На самом деле он не отправляет данные JSON (переданные в виде строки методу) на страницу.
Я попытался с помощью моего JSON данных как JSONObject, однако DataOutputStream
не нравится.
Я что-то не так?
HttpURLConnection conn;
DataOutputStream wr;
StringBuilder result;
URL urlObj;
JSONObject jObj = null;
public JSONObject makeHttpRequest(String data) {
urlObj = new URL("MY URL HERE");
conn = (HttpURLConnection) urlObj.openConnection();
conn.setDoOutput(true);
conn.setRequestMethod("POST");
conn.setRequestProperty("Accept-Charset", "UTF-8");
conn.setRequestProperty("Content-Type", "application/x-www-form-urlencoded");
conn.setRequestProperty("Accept", "application/json");
conn.setRequestProperty("Content-Length", ""+data.length());
conn.setReadTimeout(10000);
conn.setConnectTimeout(15000);
conn.connect();
wr = new DataOutputStream(conn.getOutputStream());
wr.writeBytes(data);
wr.flush();
wr.close();
//Receive the response from the server
InputStream in = new BufferedInputStream(conn.getInputStream());
BufferedReader reader = new BufferedReader(new InputStreamReader(in));
result = new StringBuilder();
String line;
while ((line = reader.readLine()) != null) {
result.append(line);
}
conn.disconnect();
jObj = new JSONObject(result.toString());
return jObj;
}
Извините, что не работает. –
Убедитесь, что ваше приложение имеет разрешения «ИНТЕРНЕТ» в файле манифеста и убедитесь, что URL-адрес верен. – ELITE