我需要检查 URL 的响应代码是否为 200。在循环处理 URL 数组时,我得到其中一些 URL 的值为 200,其他 URL 的值为 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.
即使每次的 url 都相同。知道为什么吗?
最佳答案
对于给定的 url,响应代码并不总是相同。这取决于处理请求时发生的情况或应用程序设计者的决定。
200 表示一切顺利 503表示出现问题,可能是线程池耗尽,无法处理请求。
通常,当您请求 API 或端点时,您应该在开发代码之前知道服务器将返回哪些代码给您的调用。
检查这个Http codes
关于java - 在 Java 中获取同一 URL 的不同响应代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48376558/