#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 недоступен с вашего хоста. Ниже приведены несколько других тестов, которые вы можете выполнить :
- установите netcat (nc) и выполните приведенную ниже команду :
ПОРТ IP-АДРЕСА $ nc -vz
Если оно подключено, то программа Java должна работать
- Попробуйте использовать curl
$ curl -x URL
и посмотрите, какой результат вы получаете.
В основном это может быть проблемой брандмауэра. Также проконсультируйтесь с вашей сетевой командой
Комментарии:
1. Привет. Спасибо за ответ. Как мне сузить его до проблемы с брандмауэром?
2. используйте traceroute для ip-адреса и посмотрите, где он блокируется. Это сетевое устройство, на котором отсутствует брандмауэр.