java如何获取httpstatus
获取 HTTP 状态码的方法
在 Java 中,可以通过多种方式获取 HTTP 请求的响应状态码,以下是常见的几种方法:
使用 HttpURLConnection
通过 HttpURLConnection 类可以获取 HTTP 响应状态码。示例代码如下:
import java.net.HttpURLConnection;
import java.net.URL;
public class HttpStatusExample {
public static void main(String[] args) throws Exception {
URL url = new URL("https://example.com");
HttpURLConnection connection = (HttpURLConnection) url.openConnection();
connection.setRequestMethod("GET");
int statusCode = connection.getResponseCode();
System.out.println("HTTP Status Code: " + statusCode);
connection.disconnect();
}
}
使用 Apache HttpClient

Apache HttpClient 是一个功能强大的 HTTP 客户端库,可以方便地获取状态码。示例代码如下:
import org.apache.http.HttpResponse;
import org.apache.http.client.HttpClient;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.impl.client.HttpClients;
public class HttpClientExample {
public static void main(String[] args) throws Exception {
HttpClient client = HttpClients.createDefault();
HttpGet request = new HttpGet("https://example.com");
HttpResponse response = client.execute(request);
int statusCode = response.getStatusLine().getStatusCode();
System.out.println("HTTP Status Code: " + statusCode);
}
}
使用 Spring RestTemplate

如果项目基于 Spring 框架,可以使用 RestTemplate 获取状态码。示例代码如下:
import org.springframework.http.HttpStatus;
import org.springframework.http.ResponseEntity;
import org.springframework.web.client.RestTemplate;
public class RestTemplateExample {
public static void main(String[] args) {
RestTemplate restTemplate = new RestTemplate();
ResponseEntity<String> response = restTemplate.getForEntity("https://example.com", String.class);
HttpStatus statusCode = response.getStatusCode();
System.out.println("HTTP Status Code: " + statusCode.value());
}
}
使用 OkHttp
OkHttp 是另一个流行的 HTTP 客户端库,可以轻松获取状态码。示例代码如下:
import okhttp3.OkHttpClient;
import okhttp3.Request;
import okhttp3.Response;
public class OkHttpExample {
public static void main(String[] args) throws Exception {
OkHttpClient client = new OkHttpClient();
Request request = new Request.Builder()
.url("https://example.com")
.build();
Response response = client.newCall(request).execute();
int statusCode = response.code();
System.out.println("HTTP Status Code: " + statusCode);
}
}
注意事项
- 确保网络连接正常,否则可能会抛出异常。
- 对于 HTTPS 请求,可能需要配置 SSL 证书信任策略。
- 在使用第三方库时,确保依赖已正确添加到项目中。






