java网络编程2-URL和URI
//创建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());
最新文章
- Civil 3D API二次开发学习指南
- ms-dos中 MSCDEX命名语法详解
- 【系统篇】从C/C++语言到进程启动背后的故事
- bzoj 3781 小B的询问(莫队算法)
- scala学习笔记:match表达式
- Thrift初用小结
- eucMenu
- python 爬取全本免费小说网的小说
- Redis简介+常用命令
- Excel文件的读写
- GitHub developer API 学习
- DrawCall 优化 .
- freemarker了解
- php 值引用
- 搜集几个API接口
- centos6 安装glibc-2.14.1
- 在相应目录下新建或读取xml文件
- spring IOC的实现原理
- Reject Inference: Your Data is Deceiving You
- CIDR地址分类
热门文章
- Andorid上拉加载更多的几种实现方式
- ant Table td 溢出隐藏(省略号)
- 【VBA编程】14.操作工作簿对象
- SCRUM敏捷开发规则一栏
- Swift的String与OC的NSString的区别
- (C#)Windows Shell 外壳编程系列1 - 基础,浏览一个文件夹
- easyui tree自定义属性用法
- 使用Openssl创建证书
- 用Jquery控制文本框只能输入数字和字母及jquery自定义方法$.fn
- XML 实体扩展攻击libxml_disable_entity_loader