Я хочу отправить данные JSON на мой локальный сервер.Запрос curl, который я помещаю в «Git Bash», возвращает желаемый результат, в то время как на CMD он возвращает неверный запрос.
Теперь, в студии android, когда я запускаю свой код.Читатель с буферизацией всегда перехватывает «FileNotFoundException», включая «Неверный запрос» и «Неверный URL».
Я уже пробовал несколько решений на форуме, таких как включение свойства запроса: (Я также совершенно не понимаю этот запроссвойство tbh)
conn.setRequestProperty("User-Agent","Mozilla/5.0 ( compatible ) ");
conn.setRequestProperty("Accept","*/*");
Я также пытался использовать устаревшие синтаксисы, такие как HttpClient, но в результате все тот же неправильный запрос.
Я присоединяю функцию, HttpPost, которая возвращаетСтрока в методе doInBackground в моем классе:
private String HttpPost(String[] params) throws IOException, JSONException {
String result = "";
String urlPost = "http://10.0.2.2:1080/claim/sustenance";
URL url = new URL(urlPost);
// create HttpURLConnection
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
conn.setRequestMethod("POST");
conn.setRequestProperty("User-Agent","Mozilla/5.0 ( compatible ) ");
conn.setRequestProperty("Accept","*/*");
conn.setRequestProperty("Content-Type", "application/cfp+json");
conn.setRequestProperty("Accept-Charset", "UTF-8");
//conn.setRequestProperty("Accept", "application/json");
conn.setDoOutput(true);
// build JSON object
JSONObject jsonObject = buildJsonObject(params);
String jsonString = jsonObject.toString();
// add JSON content to POST request body
try(OutputStream os = conn.getOutputStream()) {
byte[] input = jsonString.getBytes("utf-8");
os.write(input, 0, input.length);
}
try(BufferedReader br = new BufferedReader(
new InputStreamReader(conn.getInputStream(), "utf-8"))) {
StringBuilder response = new StringBuilder();
String responseLine = null;
while ((responseLine = br.readLine()) != null) {
response.append(responseLine.trim());
}
return response.toString();
}
}
Я ожидаю ответ JSON от моего запроса, но он не приходит вообще.Пожалуйста, помогите мне решить эту проблему.