//创建url可以指定请求的url协议,但不同的jvm支持的协议可能不相同(大部分支持http、file、https)
//构造只判断字符串中的协议支不支持,而不判断url的正确性
URL url=new URL("http://www.baidu.com");
System.out.println(url.getProtocol());
System.out.println(url.getHost());

//url中没有指定端口则返回-1
System.out.println(url.getPort());
//url中没有指定端口则协议的默认端口,没有该协议的默认端口的返回-1
System.out.println(url.getDefaultPort());

//区别
url.getFile();//返回路径信息带有查询参数
url.getPath();//只返回路径

//获取url的内容(http协议不包含头部内容,也不包含其它协议内容)
InputStream input= url.openStream();
BufferedReader reader=new BufferedReader(new InputStreamReader(input,"utf-8"));//不同的url可能编码不一样
String tmp=null;
while((tmp=reader.readLine())!=null){
  System.out.println(tmp);
}

//获取url中的底层的连接对象,可以对获取更多的信息和操作
//比如直接url获取内容默认不会超时,这可能引起程序的阻塞,通过连接对象可以设置超时时间
URLConnection connection= url.openConnection();

//对url中的特殊字符串进行编码
URLDecoder.decode("xxxx","utf-8");
URLEncoder.encode("xxxx","utf-8");

//URI没有网络获取功能

URI uri=new URI("http://www.baidu.com");
System.out.println(uri.getHost());
System.out.println(uri.getPort());

最新文章

  1. Civil 3D API二次开发学习指南
  2. ms-dos中 MSCDEX命名语法详解
  3. 【系统篇】从C/C++语言到进程启动背后的故事
  4. bzoj 3781 小B的询问(莫队算法)
  5. scala学习笔记:match表达式
  6. Thrift初用小结
  7. eucMenu
  8. python 爬取全本免费小说网的小说
  9. Redis简介+常用命令
  10. Excel文件的读写
  11. GitHub developer API 学习
  12. DrawCall 优化 .
  13. freemarker了解
  14. php 值引用
  15. 搜集几个API接口
  16. centos6 安装glibc-2.14.1
  17. 在相应目录下新建或读取xml文件
  18. spring IOC的实现原理
  19. Reject Inference: Your Data is Deceiving You
  20. CIDR地址分类

热门文章

  1. Andorid上拉加载更多的几种实现方式
  2. ant Table td 溢出隐藏(省略号)
  3. 【VBA编程】14.操作工作簿对象
  4. SCRUM敏捷开发规则一栏
  5. Swift的String与OC的NSString的区别
  6. (C#)Windows Shell 外壳编程系列1 - 基础,浏览一个文件夹
  7. easyui tree自定义属性用法
  8. 使用Openssl创建证书
  9. 用Jquery控制文本框只能输入数字和字母及jquery自定义方法$.fn
  10. XML 实体扩展攻击libxml_disable_entity_loader