目录
HTTP GET和POST
从URLs到本地文件
在java.net包中包含两个有趣的类:URL类和URLConnection类。这两个类可以用来创建客户端到web服务器(HTTP服务器)的连接。下面是一个简单的代码例子:
1
2
3
4
5
6
7
8
9
|
URL url = new URL( "http://jenkov.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)方法,如下:
1
2
3
|
URL url = new URL( "http://jenkov.com" ); URLConnection urlConnection = url.openConnection(); urlConnection.setDoOutput( true ); |
一旦你调用了setDoOutput(true),你就可以打开URLConnection的OutputStream,如下:
1
|
OutputStream output = urlConnection.getOutputStream(); |
你可以使用这个OutputStream向相应的HTTP请求中写任何数据,但你要记得将其转换成URL编码(关于URL编码的解释,自行Google)(译者注:具体名字是:application/x-www-form-urlencoded MIME 格式编码)。
当你写完数据的时候要记得关闭OutputStream。
从URLs到本地文件
URL也被叫做统一资源定位符。如果你的代码不关心文件是来自网络还是来自本地文件系统,URL类是另外一种打开文件的方式。
下面是一个如何使用URL类打开一个本地文件系统文件的例子:
1
2
3
4
5
6
7
8
9
|
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”。
总结
以上就是本文关于Java网络编程之URL+URLconnection使用方法示例的全部内容,希望对大家有所帮助。如有不足之处,欢迎留言指出。感谢朋友们对本站的支持!
原文链接:http://ifeve.com/java-netword-url-urlconnection/