Не получается получить доступ к API новой почты.
Использую Retrofit для работы с сетью.
Вот таким образом формирую интерфейс:
@FormUrlEncoded
@POST("/v2.0/json")
Call
Ну и затем обращаюсь к серверу:
Call
@Override
public void onFailure(Call
ну и собственно инициализация:
Gson gson = new GsonBuilder().create();
Retrofit retrofit = new Retrofit.Builder()
.client(getUnsafeOkHttpClient())
.baseUrl("https://api.novaposhta.ua")
.addConverterFactory(GsonConverterFactory.create(gson))
.build();
API api = retrofit.create(API.class);
В ответ ловлю:
java.net.SocketTimeoutException: failed to connect to api.novaposhta.ua/185.128.233.69 (port 8883) after 10000ms
Увеличивал время ожидания до 60 секунд, не помогло. Да и данных там не так много чтобы тянуть их дольше минуты
UPD:
Ответ
Попробуйте подергать API через Postman это поможет проверить насколько правильно вы указываете ключи, заголовки. Извините, не силен в android и java, ничего не могу сказать по вашему коду, но вообще ошибка таймаута это скорее серверные проблемы.
Вообще странный порт, вы пробовали менять на 80 или 443?
Ну Вам же вернуло ошибку. Скорее всего она заключается в том, что вы отправляете данные в url, а надо в body выставить raw и в нем сформировать джисон согласно описанию в доках, добавить хоть какие-нить хеды и отправить это все на https://api.novaposhta.ua/v2.0/json
Комментариев нет:
Отправить комментарий