我正在为在Brightcove视频云上托管视频的网站创建视频站点地图。为了得到从网站上所有的视频信息,Brightcove公司提出来读取他们的网址如下形式HttpURLConnection通过代理访问时返回503错误
http://api.brightcove.com/services/library?token="+accountToken+"&page_size=1&command=find_all_videos&output=JSON&get_item_count=true
URL的输出是JSON,其中accountToken
只是账户的标识符的响应。
当我在浏览器中用Token点击上面的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(服务不可用)erro r?从浏览器工作正常。
更新1: 这似乎是一个网络问题。我ping了域,它说“请求超时”。尽管通过HTTP工作。看起来像是防火墙的问题。
向下选民请评论。 –
它是什么类型的代理? – jtahlborn
@jtahlborn:反向代理。你在问什么背景? –