当前位置:首页 > Java

java如何连接网址

2026-03-18 04:34:51Java

使用 HttpURLConnection 连接网址

HttpURLConnection 是 Java 标准库中用于 HTTP 请求的类,适合简单的请求场景。

创建 URL 对象并打开连接:

URL url = new URL("https://example.com");
HttpURLConnection connection = (HttpURLConnection) url.openConnection();

设置请求方法(默认为 GET):

connection.setRequestMethod("GET");

读取响应内容:

BufferedReader in = new BufferedReader(new InputStreamReader(connection.getInputStream()));
String inputLine;
StringBuilder content = new StringBuilder();
while ((inputLine = in.readLine()) != null) {
    content.append(inputLine);
}
in.close();

关闭连接:

connection.disconnect();

使用 HttpClient 连接网址(Java 11+)

HttpClient 是 Java 11 引入的现代 HTTP 客户端 API,功能更强大。

创建 HttpClient 实例:

HttpClient client = HttpClient.newHttpClient();

构建请求:

HttpRequest request = HttpRequest.newBuilder()
    .uri(URI.create("https://example.com"))
    .build();

发送请求并处理响应:

HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
String body = response.body();

使用第三方库(Apache HttpClient)

对于更复杂的需求,可以使用 Apache HttpClient 库。

添加 Maven 依赖:

<dependency>
    <groupId>org.apache.httpcomponents</groupId>
    <artifactId>httpclient</artifactId>
    <version>4.5.13</version>
</dependency>

创建 CloseableHttpClient 实例:

CloseableHttpClient httpClient = HttpClients.createDefault();

执行 GET 请求:

HttpGet httpGet = new HttpGet("https://example.com");
CloseableHttpResponse response = httpClient.execute(httpGet);

读取响应内容:

HttpEntity entity = response.getEntity();
String result = EntityUtils.toString(entity);

关闭资源:

response.close();
httpClient.close();

处理 HTTPS 连接

对于 HTTPS 网址,可能需要配置 SSL 上下文:

创建信任所有证书的 SSL 上下文(仅限测试环境):

SSLContext sslContext = SSLContext.getInstance("SSL");
sslContext.init(null, new TrustManager[]{new X509TrustManager() {
    public void checkClientTrusted(X509Certificate[] chain, String authType) {}
    public void checkServerTrusted(X509Certificate[] chain, String authType) {}
    public X509Certificate[] getAcceptedIssuers() { return null; }
}}, new SecureRandom());
HttpsURLConnection.setDefaultSSLSocketFactory(sslContext.getSocketFactory());
HttpsURLConnection.setDefaultHostnameVerifier((hostname, session) -> true);

处理连接超时

设置连接和读取超时(单位毫秒):

connection.setConnectTimeout(5000);
connection.setReadTimeout(5000);

对于 HttpClient:

java如何连接网址

HttpClient client = HttpClient.newBuilder()
    .connectTimeout(Duration.ofSeconds(5))
    .build();

标签: 网址java
分享给朋友:

相关文章

java如何安装

java如何安装

安装Java的步骤 下载Java开发工具包(JDK) 访问Oracle官方网站或OpenJDK项目页面下载适合操作系统的JDK版本。Oracle JDK适用于商业用途,OpenJDK是开源版本。选择…

如何学java

如何学java

学习Java的基础知识 Java是一门面向对象的编程语言,掌握基础语法是入门的关键。需要了解变量、数据类型、运算符、控制结构(如if-else、for循环、while循环)、数组等概念。可以通过官方文…

java如何react

java如何react

在Java中使用React 要在Java项目中集成React,通常需要将React前端与Java后端结合使用。以下是几种常见的方法: 使用Spring Boot作为后端 Spring Boot是一个…

java如何输入字符串

java如何输入字符串

使用 Scanner 类 在 Java 中,可以通过 java.util.Scanner 类来输入字符串。以下是一个示例代码: import java.util.Scanner; public c…

如何配置java环境变量

如何配置java环境变量

下载并安装JDK 从Oracle官网或OpenJDK项目下载适合操作系统的JDK安装包。运行安装程序,按照提示完成安装,默认路径通常为C:\Program Files\Java\jdk-版本号。 配…

java如何导入jar包

java如何导入jar包

在Eclipse中导入JAR包 右键项目 -> 选择"Properties" -> 左侧导航选择"Java Build Path" -> 切换到"Libraries"标签 ->…