统一资源定位符URL(Uniform Resource Locator)是www客户机访问Internet时用来标识资源的名字和地址。超文本链路由统一资源定位符URL维持。URL的格式是:

    <METHOD>://<HOSTNAME:PORT>/<PATH>/<FILE>

其中:Method是传输协议:HOSTNAME是文档和服务器所在的Internet主机名(域名系统中DNS中的点地址);PORT是服务端口号(可省略);PATH是路径名,FILE是文件名。例如:

1     http://www.weixueyuan.net/(http是协议名,www.weixueyuan.net是主机名)
2 http://www.weixueyuan.net/view/6079.html (www.weixueyuan.net是主机名,view/6079.html是文件路径和文件名)

URL类

Java.net包有URL类,一个URL对象可以表示一个网络资源。程序利用URL对象能实现Internet寻址、网络资源的定位连接、在客户机与服务器之间直接访问等。
如以下代码所示:

1 URL myURL;
2 try {
3 myURL = new URL(“http://www.weixueyuan.net:80/”);
4 }catch(MalformedURLException e){
5 System.out.println(“有错的URL:”+url+e);
6 }

如果提供给 URL 构造器的 urlString 是无效的,那么将抛出 MalformedURLException

URLConnection类

URLConnection 类是所有在应用程序和 URL 之间创建通信链路的类的抽象超类。

    URLConnection 在获取 Web 服务器上的文档方面特别有用,但也可用于连接由 URL 标识的任何资源。该类的实例既可用于从资源中读,也可用于往资源中写。例如,您可以连接到一个 servlet 并发送一个格式良好的 XMLString 到服务器上进行处理。URLConnection 的具体子类(例如 HttpURLConnection)提供特定于它们实现的额外功能。

    URL mu = new URL(“http://www.sun.com/”);//先要创建一个URL对象
URLConnection muC = mu.openConnection();//获得URLConnection对象

  上述代码说明,先要创建一个URL对象,然后利用URL对象的openConnection()方法,从系统获得一个URLConnection对象。程序有了URLConnection对象后,就可使用URLConnection类提供的以下方法获得流对象和实现网络连接:

getOutputStream():获得向远程主机发送信息的OutputStream流对象;
getInputStream():获得从远程主机获取信息的InputStream流对象。有了网络连接的输入和输出流,程序就可实现远程通信;
openConnect():设置网络连接。

发送和接收信息要获得流对象,并由流对象创建输入或输出数据流对象。然后,就可以用流的方法访问网上资源。

    URLClient client = new URLClient();
String yahoo = client.getDocumentAt("http://www.yahoo.com");
System.out.println(yahoo);

实现的getDocumentAt()方法

public String getDocumentAt(String urlString) {
StringBuffer document = new StringBuffer();
try {
URL url = new URL(urlString);
URLConnection conn = url.openConnection();
BufferedReader reader = new BufferedReader(new InputStreamReader(conn.getInputStream())); String line = null;
while ((line = reader.readLine()) != null)
document.append(line + "\n");
reader.close();
} catch (MalformedURLException e) {
System.out.println("Unable to connect to URL: " + urlString);
} catch (IOException e) {
System.out.println("IOException when connecting to URL: " + urlString);
}
return document.toString();
}

如果提供给 URL 构造器的 urlString 是无效的,那么将抛出 MalformedURLException。如果发生了别的错误,例如当从连接上获取InputStream 时,那么将抛出 IOException

来源:http://www.lxway.com/680916.htm

最新文章

  1. 打地鼠游戏iOS源码项目
  2. C# 二维数组相关知识记录
  3. [DS Basics] Data structures
  4. Android composite adb interface
  5. Java基础-数据类型int,short,char,long,float,double,boolean,byte
  6. 【20160924】GOCVHelper 图像增强部分(3)
  7. NSURLSession 请求
  8. 一个基于MVVM的TableView组件化实现方案
  9. java-下载excel
  10. 重拾php---以及zend-studio 的使用快捷方式
  11. 洛谷 [P3110] 驮运
  12. Python threading(多线程)
  13. DNN网络(三)python下用Tensorflow实现DNN网络以及Adagrad优化器
  14. 微信小程序模拟点击出现问题解决方法
  15. 【Java】 剑指offer(14) 二进制中1的个数
  16. bzoj2946
  17. 8.15jsp document 头部声明 区别
  18. MySQL 日志功能详解
  19. Python3.x:zip()函数
  20. Codeforces Round #344 (Div. 2) E. Product Sum 维护凸壳

热门文章

  1. iOS 序列化与反序列化
  2. ecshop底部版权修改和组成分析
  3. js 闭包理解
  4. ubuntu12.04下安卓编译环境搭建总结
  5. xcode4.3 完成输入后 点击背景关闭键盘
  6. [转] Xcode4.4.1下安装高德地图详细教程
  7. JAVA基础知识之Set集合
  8. 使用UML进行项目开发
  9. ClassLoader加载
  10. mysqldump命令