Я хотел бы отправить запрос на получение https на мой сервер, используя android retrofit2.
Если я отправляю тот же запрос с http, он работает нормально.
Всякий раз, когда я отправляю запрос https, не работает.
Моя конечная точка:
https://xxxx:xxx@xxx/rest/xxx
Мой фрагмент кода:
String base = uname + ":" + pwd;
OkHttpClient.Builder httpClient = new OkHttpClient.Builder();
httpClient.addInterceptor(new Interceptor() {
@Override
public okhttp3.Response intercept(Chain chain) throws IOException {
Request original = chain.request();
Request.Builder requestBuilder = original.newBuilder()
.header("Authorization", base);
Request request = requestBuilder.build();
return chain.proceed(request);
}
});
OkHttpClient client = httpClient.build();
Retrofit rulesRetrofit = new retrofit2.Retrofit.Builder()
.baseUrl(HttpsRuels)
.addConverterFactory(GsonConverterFactory.create())
.client(client)
.build();
cloudRulesDataInterface = rulesRetrofit.create(APInterface.class);
Call < ResponseBody > rulesCall = cloudRulesDataInterface.getRulesFromCloud();
rulesCall.enqueue(new Callback < ResponseBody > () {
@Override
public void onResponse(Call < ResponseBody > call, Response < ResponseBody > response) {
if (response.isSuccessful()) {
try {
Log.d(TAG, "response from success =" + response.body().string());
} catch (IOException e) {
e.printStackTrace();
}
} else {
try {
Log.d(TAG, "response from error =" + response.errorBody().string());
} catch (IOException e) {
e.printStackTrace();
}
}
}
@Override
public void onFailure(Call < ResponseBody > call, Throwable throwable) {
}
});
Всегда я получаю неавторизованный ответ от сервера. Когда я тестировал почтальона, он работал нормально. Но в android не работал.