HttpsURLConnection: прерывание соединения

#java #linux #httpsurlconnection

#java #linux #httpsurlconnection

Вопрос:

Я пытаюсь подключиться к URL-адресу REST API (напримерhttps://xyz.abc.com/username=testamp;password=test ) с использованием Java из Linux. Ниже приведен код.

         URL url = new URL(URL);
        HttpsURLConnection conn = (HttpsURLConnection) url.openConnection();
        conn.setRequestMethod("GET");
        conn.setRequestProperty("Accept", "application/xml");
        conn.connect();
  

Я сталкиваюсь с проблемой истечения времени ожидания соединения при подключении к URL.

         java.net.ConnectException: Connection timed out
  

Я не могу выполнить пинг для xyz.abc.com также. Кто-нибудь может помочь? Спасибо!

Ответ №1:

Если вы не можете выполнить пинг, скажите, что URL недоступен с вашего хоста. Ниже приведены несколько других тестов, которые вы можете выполнить :

  1. установите netcat (nc) и выполните приведенную ниже команду :

ПОРТ IP-АДРЕСА $ nc -vz

Если оно подключено, то программа Java должна работать

  1. Попробуйте использовать curl

$ curl -x URL

и посмотрите, какой результат вы получаете.

В основном это может быть проблемой брандмауэра. Также проконсультируйтесь с вашей сетевой командой

Комментарии:

1. Привет. Спасибо за ответ. Как мне сузить его до проблемы с брандмауэром?

2. используйте traceroute для ip-адреса и посмотрите, где он блокируется. Это сетевое устройство, на котором отсутствует брандмауэр.