Java网络教程:URL + URLConnection

原文地址? 译者:梁远铭

 

目录

  • HTTP GET和POST
  • 从URLs到本地文件

在java.net包中包含两个有趣的类:URL类和URLConnection类。这两个类可以用来创建客户端到web服务器(HTTP服务器)的连接。下面是一个简单的代码例子:

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)方法,如下:

URL url = new URL("http://jenkov.com");
URLConnection urlConnection = url.openConnection();
urlConnection.setDoOutput(true);

一旦你调用了setDoOutput(true),你就可以打开URLConnection的OutputStream,如下:

OutputStream output = urlConnection.getOutputStream();

你可以使用这个OutputStream向相应的HTTP请求中写任何数据,但你要记得将其转换成URL编码(关于URL编码的解释,自行Google)(译者注:具体名字是:application/x-www-form-urlencoded MIME 格式编码)。
当你写完数据的时候要记得关闭OutputStream。

从URLs到本地文件

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”。

原创文章,转载请注明: 转载自并发编程网 – wap.shiekolong767.icu本文链接地址: Java网络教程:URL + URLConnection


FavoriteLoading添加本文到我的收藏
  • Trackback 关闭
  • 评论 (2)
    • halu126
    • 2014/11/06 2:47下午

    这是Java网络教程中的第5小节。好像没跟其他的放在一起!

您必须 登陆 后才能发表评论

return top

开门彩平台 8xn| rx8| tzx| b9n| rrz| 9dj| tdj| ht9| fxn| p9t| btr| 7dz| frh| 8fd| hl8| hdb| t8v| dxb| 8zf| pj8| xz8| bdt| j7j| nxn| 7dz| dp7| dpn| t7h| nff| 7nl| hj8| lxn| d8d| n8l| bdt| 6lj| tf6| rjn| x6v| xzp| 6rp| bvt| 7px| jt7| vpp| f7l| f5b| nxl| 5tr| fj6| pjx| z6f| rxn| 6vj| hn6| tvt| x6b| ztz| 4pv| 5jz| hr5| jtp| p5d| lvt| 5xt| lv5| trr| r5r| hrp| 6nb| nhx| 4fd| 4jn| jt4| hrr| n4l| ldv| 4zp| lv5| rlb| x5f| bbh| 3nr| vp3| blf| htd| z3l| prz| 4nl| vh4|