Java网络:URL + URLConnection
时间:2020-01-09 10:36:14 来源:igfitidea点击:
java.net包包含两个有趣的类:URL类和URLConnection类。这些类可用于创建与Web服务器(HTTP服务器)的客户端连接。这是一个简单的代码示例:
URL url = new URL("http://Hyman.com"); URLConnection urlConnection = url.openConnection(); InputStream input = urlConnection.getInputStream(); int data = input.read(); while(data != -1){ System.out.print((char) data); data = input.read(); } input.close();
HTTP GET和POST
默认情况下," URLConnection"将HTTP GET请求发送到Web服务器。如果我们想发送HTTP POST请求,请调用URLConnection.setDoOutput(true)方法,如下所示:
URL url = new URL("http://Hyman.com"); URLConnection urlConnection = url.openConnection(); urlConnection.setDoOutput(true);
设置好名为setDoOutput(true)的设置后,我们可以打开URLConnection的OutputStream,如下所示:
OutputStream output = urlConnection.getOutputStream();
使用这个OutputStream,我们可以在HTTP请求的主体中写入所需的任何数据。记住要对其进行URL编码(搜索Google以获取URL编码的说明)。
完成向其写入数据后,请记住关闭" OutputStream"。
本地文件的URL
URL类也可用于访问本地文件系统中的文件。因此,如果我们需要代码不知道文件是来自网络还是本地文件系统,则URL类可以是打开文件的便捷方法。
这是一个如何使用URL
类在本地文件系统中打开文件的示例:
URL url = new URL("file:/c:/data/test.txt"); URLConnection urlConnection = url.openConnection(); InputStream input = urlConnection.getInputStream(); int data = input.read(); while(data != -1){ System.out.print((char) data); data = input.read(); } input.close();
注意,与通过HTTP访问Web服务器上的文件的唯一区别是URL:" file:/ c:/data/test.txt"。