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を押すと、正しい応答が返されます。
その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(Service Unavailable)エラーを与えるのですか?ブラウザからは正常に動作しています。
アップデート1: ネットワークに問題があるようです。ドメインにpingを実行すると、「リクエストがタイムアウトしました」と表示されました。ただし、HTTP経由での作業。ファイアウォールの問題のようです。