Мы разработали приложение на Android, используя Asynctask для извлечения данных из backend, который отлично работает. Затем приложение было перенесено на другой сервер . после этого большую часть времени, когда мы пытаемся подключиться к серверу, получаем (временный переадресация) Ошибка HTTP. Хотя у нас есть одно и то же приложение, разработанное для iOS, и оно отлично работает с новым сервером.Ошибка HTTP 307 в Android после перехода на новый сервер
В настоящее время я попытался запустить приложение для Android, используя URL-адрес старого сервера, и он отлично работает. В то же время, когда я использую URL для нового сервера, проблема все еще сохраняется.
Так что мне нужно знать, что это проблема с конфигурацией сервера, или это проблема с той библиотекой подключений, которую я использую.
public void getData(MainModel mainModel) {
this.mainModel = mainModel;
requestURL = " ........";
postString = "........";
execute();
}
public HttpURLConnection POSTConnection(String postString) {
URL url = null;
HttpURLConnection httpURLConnection = null;
try {
url = new URL(requestURL);
httpURLConnection = (HttpURLConnection) url.openConnection();
httpURLConnection.setDoOutput(true);
httpURLConnection.setRequestMethod("POST");
httpURLConnection.setRequestProperty("Content-Type", "application/x-www-form-urlencoded");
PrintWriter out = new PrintWriter(httpURLConnection.getOutputStream());
out.print(postString);
out.close();
} catch (MalformedURLException e) {
exception(e);
} catch (ProtocolException e) {
exception(e);
} catch (IOException e) {
exception(e);
}
return httpURLConnection;
}
public String JSONResponse(HttpURLConnection httpURLConnection) {
int statusCode = 0;
StringBuilder response;
byte[] data = null;
String responseString = null;
try {
statusCode = httpURLConnection.getResponseCode();
if (statusCode == HttpURLConnection.HTTP_OK) {
BufferedReader bufferedReader = new BufferedReader(new InputStreamReader
(httpURLConnection.getInputStream()));
response = new StringBuilder();
String line;
while ((line = bufferedReader.readLine()) != null) {
response.append(line);
}
data = response.toString().getBytes();
responseString = new String(data);
} else {
POSTConnection(postString);
data = null;
}
} catch (IOException e) {
exception(e);
}
return responseString;
}
protected ArrayList<....Model> doInBackground(Void... params) {
ArrayList<.....Model> myList = null;
HttpURLConnection httpURLConnection = POSTConnection(postString);
if (httpURLConnection != null) {
String responseString = JSONResponse(httpURLConnection);
if (responseString != null) {
myList = parseJSONResponse(responseString);
}
httpURLConnection.disconnect();
}
return .......;
}
Заранее спасибо.
Редактировать вопрос, чтобы включить код, который делает запрос HTTP, чтобы мы могли видеть, как вы настраиваете его – hardillb
@hardillb Я добавил HTTP-запрос – Luji