Hostname www.kdrc.ru not verified:
После переноса почты с гугл на яндекс (используется свой домен), нет доступа к серверной части из приложения android. При отправке запроса, например POST, пишет следующую ошибку:
Hostname www.kdrc.ru not verified:
certificate: sha256/lxy8OofWytTcB8Bi5yHrGOo12RSFQ1OIOWw+qWiHeUo=
DN: CN=mail.yandex.ru,O=Yandex LLC,OU=ITO,L=Moscow,C=RU
subjectAltNames: [mail.yandex.ru, mail.yandex.co.il, mail.yandex.com.ua, mail.yandex.com, mail.yandex.tj, mail.yandex.by, mail.ya.ru, xn--80a1acny.xn--d1acpjx3f.xn--p1ai, mail.yandex.com.am, mail.yandex.com.ge, posta.yandex.com.tr, mail.yandex.az, mail.yandex.kg, mail.yandex.md, mail.yandex.kz, mail.yandex.tm, mail.yandex.uz, mail.yandex.ua, mail.yandex.lv, mail.yandex.lt, mail.yandex, mail.yandex.fr, mail.yandex.com.tr, mail.yandex.ee]
При отправке того же запроса через компьютер, таких проблем не возникает. Что я не учел при переносе почты и как это можно исправить?
Код:
IDrinkShopAPI mService= RetrofitClient.getClient("http://www.kdrc.ru/drinkshop/").create(IDrinkShopAPI.class);
CompositeDisposable compositeDisposable = new CompositeDisposable();
compositeDisposable.add(mService.getNearbyStore(String.valueOf(lastLocation.getLatitude()),
String.valueOf(lastLocation.getLongitude()))
.observeOn(AndroidSchedulers.mainThread())
.subscribeOn(Schedulers.io())
.subscribe(new Consumer<List<Store>>() {
@Override
public void accept(List<Store> stores) throws Exception {
for (Store store : stores) {
LatLng storeLocation = new LatLng(store.getLat(), store.getLng());
}
}
}, new Consumer<Throwable>() {
@Override
public void accept(Throwable throwable) throws Exception {
//Здесь происходит указанное выше сообщение
Log.d("123", throwable.getMessage());
}
}
IDrinkShopAPI.java:
public interface IDrinkShopAPI {
@FormUrlEncoded
@POST("getnearbystore.php")
Observable<List<Store>> getNearbyStore(@Field("lat") String lat,
@Field("lng") String lng);
}
RetrofitClient.java
public class RetrofitClient {
private static Retrofit retrofit=null;
public static Retrofit getClient(String baseUrl){
if(retrofit==null){
Gson gson = new GsonBuilder()
.setLenient()
.create();
retrofit=new Retrofit.Builder()
.baseUrl(baseUrl)
.addConverterFactory(GsonConverterFactory.create(gson))
.addCallAdapterFactory(RxJava2CallAdapterFactory.create())
.build();
}
return retrofit;
}
}
Ответы (1 шт):
Автор решения: Дмитрий Бобылев
→ Ссылка
Решилось всё довольно просто. При запросе на www.kdrc.ru не работало вследствие криво прописанных мной dns-записей. И был выбор либо убрать www, либо исправить dns-записи. Помогли исправить dns в техподдержке хостинг-кампании.