当前位置:首页 > 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();

发送请求并处理响应:

java如何连接网址

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);

读取响应内容:

java如何连接网址

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:

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

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

相关文章

java如何输入

java如何输入

使用Scanner类进行输入 Scanner类是Java中最常用的输入工具,适用于从控制台或文件读取数据。需要导入java.util.Scanner包。 基本语法: Scanner sca…

java如何编程

java如何编程

Java编程基础 Java是一种面向对象的编程语言,广泛应用于企业级开发、移动应用(Android)等领域。以下是Java编程的核心步骤和示例。 环境搭建 安装JDK 从Oracle官网下载适合…

如何学习java

如何学习java

学习Java的步骤 理解基础知识 从Java的基本语法开始,包括变量、数据类型、运算符、控制流(if-else、循环)等。掌握这些基础概念是后续学习的基石。 学习面向对象编程(OOP) Java是一…

如何编写java程序

如何编写java程序

安装开发环境 下载并安装JDK(Java Development Kit),推荐从Oracle官网或OpenJDK获取最新版本。安装完成后配置环境变量,确保JAVA_HOME和PATH正确设置。 选…

java如何创建对象

java如何创建对象

创建对象的基本方法 在Java中,创建对象主要通过new关键字调用构造函数完成。基本语法为: ClassName objectName = new ClassName(); 例如创建String对象…

如何阅读java源码

如何阅读java源码

阅读Java源码的方法 选择合适的源码项目 初学者建议从JDK核心类库(如java.lang、java.util)或知名开源项目(如Spring、Guava)入手。选择文档完善、社区活跃的项目能降低理…