使用URLConnection获取网络资源的数据
时间: 2024-10-21 08:11:56 浏览: 22
Android开发使用URLConnection进行网络编程详解
使用Java的`java.net.URLConnection`类可以方便地下载网络资源的数据。以下是一个基本的例子,展示如何获取URL的内容:
```java
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.URL;
public String getContentFromUrl(String urlString) throws Exception {
URL url = new URL(urlString);
HttpURLConnection connection = (HttpURLConnection) url.openConnection();
// 设置连接选项,如GET请求
connection.setRequestMethod("GET");
connection.setConnectTimeout(5000); // 设置超时时间,单位毫秒
connection.setReadTimeout(5000); // 设置读取超时时间
int responseCode = connection.getResponseCode(); // 获取HTTP响应码
if (responseCode == HttpURLConnection.HTTP_OK) { // 如果状态码为200,表示成功
BufferedReader in = new BufferedReader(new InputStreamReader(connection.getInputStream()));
StringBuilder contentBuilder = new StringBuilder();
String line;
while ((line = in.readLine()) != null) {
contentBuilder.append(line).append('\n');
}
in.close();
return contentBuilder.toString(); // 返回获取到的内容
} else {
throw new RuntimeException("Failed to load resource with status code: " + responseCode);
}
}
```
上面的代码首先创建一个`URL`对象,然后通过`openConnection()`方法得到一个`HttpURLConnection`实例。接着设置请求方法(这里是GET),并设置适当的超时时间。如果HTTP响应码是200,就打开输入流,逐行读取内容并返回;否则抛出异常。
阅读全文