我需要检查网址的响应代码是否为200。在循环中处理一系列URL时,其中一些URL为200,其他为503。即使所有URL都有效,并且在没有循环的情况下运行时返回200.
for (int i = 0; i < 10; i++) {
URL url = new URL("https://www.amazon.in/dp/B01N6TDY3Y");
HttpURLConnection urlConnection = (HttpURLConnection) url.openConnection();
int status = urlConnection.getResponseCode();
System.out.println(status);
}
此代码每次打印不同的状态。这次是:
200
200
200
200
200
200
503
200
503
200.
即使网址每次都相同。知道为什么吗?
答案 0 :(得分:1)
对于给定的网址,响应代码并不总是相同。这取决于处理请求时发生的情况或应用程序的设计者决定的内容。
200意味着永远没关系 503表示发生问题可能是游泳池耗尽而无法处理请求。
通常,当您请求API或端点时,您应该知道在开发代码之前服务器将返回您的调用的代码。
选中此Http codes
答案 1 :(得分:0)
通常,高可用性服务将在负载均衡器后面的许多Web服务器上实现。发送到服务的请求每次都可以转到不同的服务器。如果一个工作不正常,您可以看到对重复发送的同一请求的不同响应。
另一个因素是您可能正在重启正在重启的服务器,或者暂时超载的服务器。这就是503旨在表明的内容。