以下是在Java网络中处理503响应代码的适当方法吗?这段代码是什么 - 特别是断开和null的调用呢?
URL url = new URL(some url);
HttpURLConnection h =(HttpURLConnection)url.openConnection();
int x = h.getResponseCode();
while(x==503)
{
h.disconnect();
h = null;
h =(HttpURLConnection)url.openConnection();
x = h.getResponseCode();
}
答案 0 :(得分:4)
disconnect()关闭底层TCP套接字。
在重新分配之前立即将局部变量设置为null,即可完成任何操作。
在该循环中应该有一个睡眠,每次失败时间隔都会增加,并且重试次数有限。
答案 1 :(得分:1)
无论你想做什么,都是适当的方式。为了使某些事情变得安全,最好重复直到成功,而不是仅处理503场景。
最简单的例子:循环直到200(成功)代码回来。
(最好将其抽象为方法和类,并在可能的情况下使用OOP和单元测试。)