, поэтому я пытаюсь выполнить запрос GET для своего веб-сервиса, и поскольку я видел, что класс HttpGet устарел, я вместо этого пытаюсь использовать класс HttpURLConnection, и я использовал его успешно с методом «POST» ... однако, когда я пытаюсь выполнить простой запрос «GET», я получаю ошибку 405 (плохой метод).Android JSON Получите через ошибку HttpURLConnection 405
Я протестировал ссылку в DHC, и ссылка в порядке.
Вот мой метод:
public JSONObject getClientByDeviceId (String link) {
try {
URL url = new URL(link);
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
// conn.setRequestMethod("GET");
// conn.setDoOutput(true);
// conn.setDoInput(true);
// conn.setUseCaches(false);
// conn.setAllowUserInteraction(false);
// conn.setRequestProperty("Content-Type", "application/json");
OutputStream outputStream = conn.getOutputStream();
outputStream.close();
if (conn.getResponseCode() != 200) {
Log.e("conn", "Error code: " + conn.getResponseCode());
BufferedReader br = new BufferedReader(new InputStreamReader(conn.getInputStream()));
StringBuilder sb = new StringBuilder();
String line;
while ((line = br.readLine()) != null) {
sb.append(line);
}
br.close();
conn.disconnect();
JSONObject returnedObject = new JSONObject(sb.toString());
if (returnedObject != null) {
Log.e("conn", "If 400, this is the object gained: " + returnedObject.getString("Message"));
} else {
Log.e("conn", "didn't get any JSON object");
}
conn.disconnect();
return returnedObject;
}
else {
BufferedReader br = new BufferedReader(new InputStreamReader(conn.getInputStream()));
Log.e("conn", "GREAT SUCCESS !!: " + conn.getResponseCode());
StringBuilder sb = new StringBuilder();
String line;
while ((line = br.readLine()) != null) {
sb.append(line);
}
br.close();
conn.disconnect();
JSONObject returnedObject = new JSONObject(sb.toString());
return returnedObject;
}
} catch (MalformedURLException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} catch (JSONException e) {
e.printStackTrace();
}
return null;
}
Обычно я хотел бы сказать, что эта проблема вызвана пытается сделать «GET» запрос в URL марки «Post». Но без двух классов HttpGet и HttpPost я действительно не знаю, куда обращаться, все свойства, которые закомментированы, похожи на это, потому что я попробовал их в запросе POST, и теперь я удалил один за другим, чтобы попытаться получить метод Работа.
Любые идеи? или ссылку на обновленное руководство по правильному использованию этого класса HttpURLConnection, поскольку я не смог его найти.
Заранее благодарен!
Вы пробовали его на Почтальоне? –
Да, а также в DHC (другое расширение Chrome) - они не возвращают ошибку 405 – shaqed
Затем спросите своего разработчика php, который работает над этим веб-сервисом. –