Sha*_*dne 5 java http-status-code-503 brightcove
我正在为在Brightcove视频云上托管视频的网站创建视频站点地图.为了从网站获取所有视频信息,Brightcove建议从他们的以下表格的网址阅读回复
http://api.brightcove.com/services/library?token="+accountToken+"&page_size=1&command=find_all_videos&output=JSON&get_item_count=true
Run Code Online (Sandbox Code Playgroud)
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();
}
Run Code Online (Sandbox Code Playgroud)
由于我的浏览器使用代理,我添加了以下代码以包含代理设置
System.setProperty("http.proxyHost", "my.proxyurl.com");
System.setProperty("http.proxyPort", "80");
Run Code Online (Sandbox Code Playgroud)
不使用代理设置,它返回java.net.ConnectException: Connection refused: connect并使用代理它给我java.io.IOException: Server returned HTTP response code: 503
所以我的问题是,为什么它给我503(服务不可用)错误?从浏览器它的工作正常.
更新1: 这似乎是网络的一个问题.我ping了域名,它说"请求超时".但是通过HTTP工作.看起来像防火墙的问题.
我想,这可能是由于你的互联网连接,我已经尝试过你的代码,但没有得到任何结果503(Service Unavailable)。检查不同的连接(没有代理),它应该可以工作。或者您可以尝试使用稍微不同的方法:
Proxy proxy = new Proxy(Proxy.Type.HTTP, new InetSocketAddress("host", "port));
conn = new URL(jsonURL).openConnection(proxy);
Run Code Online (Sandbox Code Playgroud)
如果您有 SOCKS 类型代理,请将Proxy的构造函数参数更改为Proxy.Type.SOCKS。
| 归档时间: |
|
| 查看次数: |
8208 次 |
| 最近记录: |