URLConnection:从 URL 读取

java.net.URLConnection 是将应用程序链接到 URL 的类。要获取 HTTP 响应,您首先需要使用两步 url:
  • openConnection: 此方法创建对象 connection,用于配置连接参数和接收参数。
  • URLConnection.connect:通过启动 Java 程序与 url.
之间的通信来创建与资源的交互以下代码创建与 http:// 站点的连接www.codeurjava.com.

URL url=null;
try {
url = new URL(http://www.codeurjava.com”);
} catch (MalformedURLException e) {
// TODO 自动生成的 catch block
e.printStackTrace();
}
try {
URLConnection con = url.openConnection();
in.close();
} catch (IOException e1) {
// TODO 自动生成的 catch block
e.printStackTrace();
}
每次使用 openConnection() 建立连接时,都会创建 URLConnection 对象。现在连接已经成功建立,你可以使用 URLConnection 通过 InputStream 和 outputStream.

Read from URLConnection

此程序检索 inputStream 对象,使用 getInputStream() 方法打开连接, 然后,它在该 InputStream 上创建一个 BufferedReader 并读取内容。逐行使用readline() 方法,我们需要将其加载到 String.

import java.io.BufferedReader 类型的变量中;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.URL;
import java.net.URLConnection;

public class URLConnectionExample:{

public static void main(String[] args) {
String host = http://www.codeurjava.com/”;
URL aURL = null;
字符串 codeHTML = ”;
try {
aURL = new URL(host);
//open connection
URLConnection con = aURL.openConnection();
//分配给连接的最大时间
con.setConnectTimeout(60000);
//分配给读取的最大时间
con.setReadTimeout(60000);
//使用 UTF-8 字符编码读取流
BufferedReader in = new BufferedReader(
new InputStreamReader(
con.getInputStream(),UTF-8”));
字符串输入线;
while((inputline = in.readLine())!=null){
//串联+换行符 with \n
HTML code += inputline+\n”;
}
//播放流必须关闭
in.close();
} catch (IOException e1) {
// TODO 自动生成的 catch block
e.printStackTrace();
}
System.out.println(codeHTML);
}
}
Result

<!DOCTYPE html>

<头>
<标题>JAVA 开发教程和示例
.
.
.



此代码 检索 Java. 如果程序显示错误消息,则程序无法找到服务器或无法访问 URL。在我们的程序中,我们将允许连接和播放的最长时间设置为 6 秒。在此时间之后,程序将停止。

References
Oracle: 类 URL: openConnection
upenn: 类 java.net.URLConnection
StackOverFlow: 使用 java.net.URLConnection 触发和处理 HTTP 请求?