URL

Java socket应用—通信

URL

  • 1、URL(Uniform Resource Locator)统一资源定位符,标示Internet上某一资源的地址。

  • 2、URL由两部分组成:协议名称和资源名称,中间用冒号隔开。

  • 3、在java.net包中,提供了URL类来表示URL。**

URL_第1张图片

文档释义:

  • 类URL

代表一个统一资源定位符,它是指向互联网“资源”的指针。资源
可以是简单的文件或目录,也可以是对更为复杂的对象的引用,例如对数据*
库或搜索引擎的查询。

主要方法使用实例:

public class Test {
     public static void main(String[] args) throws UnknownHostException, MalformedURLException {
     URL imooc=new URL("http://www.imooc.com");
     URL url=new URL(imooc,"/index.html?username=tom#test");
     System.out.println("协议:"+url.getProtocol());
     System.out.println("主机:"+url.getHost());
     System.out.println("端口:"+url.getPort());
     System.out.println("文件路径:"+url.getPath());
     System.out.println("文件名:"+url.getRef());
     System.out.println("查询字符串:"+url.getQuery());
     }
}

输出结果:

协议:http
主机:www.imooc.com
端口:-1
文件路径:/index.html
文件名:test
查询字符串:username=tom

使用URL读取网页内容

  • 1、通过URL对象的openStream()方法可以得到指定资源的输入流。
  • 2、通过输入流可以读取、访问网络上的数据。
    示例代码:
public class Test {
     public static void main(String[] args) throws UnknownHostException, MalformedURLException {
     try {

         //创建一个URL实例
           URL url=new URL("http://api.openweathermap.org/data/2.5/forecast/daily?q=94043&mode=json&units=metric&cnt=14&APPID=bb2879c8b15d2794a29d778f76cf7341");
         /*通过URL的openStream方法获取URL对象所表示的
                 资源的字节输入流*/
           InputStream is = url.openStream();
           //将字节输入流转化为字符 输入流
           InputStreamReader isr=new InputStreamReader(is);
           //为字符添加缓冲
           BufferedReader br=new BufferedReader(isr);
           String data=br.readLine();//读取数据
           while(data!=null){
                System.out.println(data);
                data=br.readLine();
           }
           br.close();
           isr.close();
           is.close();
     } catch (IOException e) {
           // TODO Auto-generated catch block
           e.printStackTrace();
     }

运行结果:

你可能感兴趣的:(URL)