Closed Lunarelly closed 1 week ago
@Lunarelly советую найти другую библиотеку, потому что эту я больше не планирую поддерживать
@Lunarelly советую найти другую библиотеку, потому что эту я больше не планирую поддерживать
Скорее всего решением является использование IPv4 вместо IPv6.
Можно Использовать флаг -DpreferIPv4Stack
Нужно добавить флаг -DpreferIPv4Stack
при запуске Java приложения.
В теории можно использовать интерфейс Dns
в библиотеке okhttp
, для того чтобы предпочитать IPv4 вместо IPv6. Пример:
import java.net.Inet4Address;
import java.net.InetAddress;
import java.net.UnknownHostException;
import java.util.List;
import java.util.stream.Collectors;
import org.jetbrains.annotations.NotNull;
import okhttp3.Dns;
public class IPv4Dns implements Dns {
@NotNull
@Override
public List<InetAddress> lookup(@NotNull String hostName) throws UnknownHostException {
return SYSTEM.lookup(hostName).stream().filter(address -> address instanceof Inet4Address).collect(Collectors.toList());
}
}
И указать в самом OkHttpClient.builder()
:
OkHttpClient okHttpClient = new OkHttpClient.Builder()
.dns(new IPv4Dns())
.build();
Последнее решение вряд ли будет добавлено в саму библиотеку, ибо оно не проверялось.
Ошибка не постоянная, вылетает рандомно, с днс все в порядке