Я работаю над созданием карты сайта для видео для сайта, на котором размещены видео в видеооблаке Brightcove. Чтобы получить всю информацию о видео с сайта, Brightcove предлагает прочитать ответ со своего URL-адреса в следующей форме.
http://api.brightcove.com/services/library?token="+accountToken+"&page_size=1&command=find_all_videos&output=JSON&get_item_count=true
вывод URL-адреса находится в формате JSON, где accountToken
— это просто идентификатор учетной записи.
Когда я нажимаю указанный выше URL-адрес с помощью Token в браузере, он дает мне правильный ответ.
Я написал ниже фрагмент программы для чтения с этого URL-адреса.
URL jsonURL = new URL("http://api.brightcove.com/services/library?token="+accountToken+"&page_size=1&command=find_all_videos&output=JSON&get_item_count=true");
HttpURLConnection connection = (HttpURLConnection) jsonURL.openConnection();
connection.setRequestMethod("GET");
connection.connect();
BufferedReader reader = new BufferedReader(
new InputStreamReader(connection.getInputStream()));
String lineRead = "";
while (reader.ready()) {
lineRead = lineRead + reader.readLine();
}
Поскольку мой браузер использует прокси, я добавил ниже код, чтобы включить настройки прокси
System.setProperty("http.proxyHost", "my.proxyurl.com");
System.setProperty("http.proxyPort", "80");
Без использования настроек прокси возвращает java.net.ConnectException: Connection refused: connect
, а с прокси дает мне java.io.IOException: Server returned HTTP response code: 503
Итак, мой вопрос: почему он дает мне ошибку 503 (служба недоступна)? Из браузера работает нормально.
Обновление 1: похоже, проблема с сетью. Я пропинговал домен, и он сказал: «Время ожидания запроса истекло». Но работает через HTTP. Похоже на проблему с брандмауэром.