[Android] [Retrofit] результат всегда возвращает 503 Сервис временно недоступен - PullRequest
0 голосов
/ 27 февраля 2020

Я работаю над Android и обрабатываю mysql путем модернизации

Я сталкиваюсь с проблемой, когда получаю ответ:

"Ответ {протокол = http / 1.1, код = 503 , сообщение = Сервис временно недоступен, URL = https://example.com/Server/getbanner.php} "

Мой код:

APIService.java
public class APIService {
    private static String base_url = "https://example.com/Server/";
    public static DataService GetService(){
        return APIRetrofitClient.GetClient(base_url).create(DataService.class);
    }
}

APIRetrofitClient.java
public class APIRetrofitClient {
    private static Retrofit retrofit = null;
    public static Retrofit GetClient(String base_url) {
        OkHttpClient okHttpClient = new OkHttpClient.Builder()
                .readTimeout(10000, TimeUnit.MILLISECONDS)
                .writeTimeout(10000, TimeUnit.MILLISECONDS)
                .connectTimeout(10000, TimeUnit.MILLISECONDS)
                .retryOnConnectionFailure(true)
                .protocols(Arrays.asList(Protocol.HTTP_1_1))
                .build();
        Gson gson = new GsonBuilder().setLenient().create();

        retrofit = new Retrofit.Builder()
                .baseUrl(base_url)
                .client(okHttpClient)
                .addConverterFactory(GsonConverterFactory.create(gson))
                .build();
        return retrofit;
    }
}

DataService.java
public interface DataService {
    @GET("getbanner.php")
    Call<List<QuangCao>> GetDataBanner();
....
}


...
    public void GetDataBanner() {
        DataService dataService = APIService.GetService();
        Call<List<QuangCao>> callback = dataService.GetDataBanner();
        callback.enqueue(new Callback<List<QuangCao>>() {
            @Override
            public void onResponse(Call<List<QuangCao>> call, Response<List<QuangCao>> response) {
                if(response.isSuccessful()) {
                    MainActivity.banners = (ArrayList<QuangCao>) response.body();
                    Log.d("Nhut", "get banners = " + response.body().toString());
                }else{
                    try {
                        Log.d("Nhut", "get banners fail 11= " + response.toString());
                    }catch (Exception e){
                        Log.d("Nhut","Exception :" +e.toString());
                    }
                }
            }
            @Override
            public void onFailure(Call<List<QuangCao>> call, Throwable t) {
                Log.d("Nhut","get banners fail = " + t.getMessage());
            }
        });
    }

Примечание: https://example.com/Server/getbanner.php: возвращаемый результат в браузере нормальный

Можете ли вы дать мне совет, чтобы решить его?

...