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());
java网络编程2-URL和URI的更多相关文章
- Java网络编程之URL和URI
Java网络编程之URL与URI 一.URL与URI简介 URI = Universal Resource Identifier 统一资源标志符 URL = Universal Resource Lo ...
- Java 网络编程(Elliotte Rusty Harold)
最近看了本Java网络编程方面的书,系统化一下Java网络编程,主要内容如下: 1.网络基础篇 这里包括基础的网络概念/ 输入输出流BIO/ Internet地址/URI/URL/HTTP/URLCo ...
- Java - 网络编程完全总结
本文主要是自己在网络编程方面的学习总结,先主要介绍计算机网络方面的相关内容,包括计算机网络基础,OSI参考模型,TCP/IP协议簇,常见的网络协议等等,在此基础上,介绍Java中的网络编程. 一.概述 ...
- 【转载】Java 网络编程
本文主要是自己在网络编程方面的学习总结,先主要介绍计算机网络方面的相关内容,包括计算机网络基础,OSI参考模型,TCP/IP协议簇,常见的网络协议等等,在此基础上,介绍Java中的网络编程. 一. ...
- 【Java】 Java网络编程总结
一.网络编程三要素: IP地址:每个设备在网络中的唯一标识. 端口号:每个程序在设备上的唯一标识. 协议:为计算机网络中进行数据交换而建立的规则或约定的集合. UDP: 面向无连接,数据不安全,速度 ...
- Java 网络编程---分布式文件协同编辑器设计与实现
目录: 第一部分:Java网络编程知识 (一)简单的Http请求 一般浏览网页时,使用的时Ip地址,而IP(Internet Protocol,互联网协议)目前主要是IPv4和IPv6. IP地址是一 ...
- Java - 30 Java 网络编程
Java 网络编程 网络编程是指编写运行在多个设备(计算机)的程序,这些设备都通过网络连接起来. java.net包中J2SE的API包含有类和接口,它们提供低层次的通信细节.你可以直接使用这些类和接 ...
- Java网络编程和NIO详解开篇:Java网络编程基础
Java网络编程和NIO详解开篇:Java网络编程基础 计算机网络编程基础 转自:https://mp.weixin.qq.com/s/XXMz5uAFSsPdg38bth2jAA 我们是幸运的,因为 ...
- Java网络编程技术1
1. Java网络编程常用API 1.1 InetAddress类使用示例 1.1.1根据域名查找IP地址 获取用户通过命令行方式指定的域名,然后通过InetAddress对象来获取该域名对应的IP地 ...
- 【Android实战】----从Retrofit源代码分析到Java网络编程以及HTTP权威指南想到的
一.简单介绍 接上一篇[Android实战]----基于Retrofit实现多图片/文件.图文上传中曾说非常想搞明确为什么Retrofit那么屌. 近期也看了一些其源代码分析的文章以及亲自查看了源代码 ...
随机推荐
- BroadcastReceiver应用详解——广播
转自:http://blog.csdn.net/liuhe688/article/details/6955668 BroadcastReceiver也就是“广播接收者”的意思,顾名思义,它就是用来接收 ...
- 站点搭建从零開始(五) WordPress的安装
前面说了非常多废话.如今最终转到正题.WordPress的安装. 1.WordPress安装非常easy 假设你的server能通过应用中心一键安装WordPress,这一节就非常轻松了,基本上不须要 ...
- VMware Workstation 8正式版下载+密钥序列号
http://www.cnblogs.com/balaamwe/archive/2011/12/13/2285972.html摘要: 支持Win8安装,虚拟机VMware Workstation 8正 ...
- css3 使用animation实现动画效果
.rotation { -webkit-animation-name: rotation; -webkit-animation-duration: 30s; -moz-animation-name: ...
- Task WaitAll的用法
var tasklst = new List<Task>(); ; i < urls.Count; i++) { tasklst.Add(Task.Factory.StartNew& ...
- git团队协作流程
创建项目,在github上增加一个repository,在要提交的工程目录下打开git bash,执行git init 命令,用于初始化,可使用git status 查看git状态,然后使用git a ...
- intellij jetBrains phpstorm/webstorm/IDEA 编辑器使用诀窍
下载地址 https://www.jetbrains.com/products.html?fromMenu 主题/皮肤切换或下载:https://blog.csdn.net/smallxiannoti ...
- Vue 中的组件
VUE中的组件 一个自定义的标签,vue就会把他看成一个组件,vue可以给这些标签赋予一定意义:一个页面就是一个组件 好处: 1.提高开发效率 2.方便重复使用 3.便于协同开发 4.更容易被管理和维 ...
- unity, editable mesh
一,需求 从fbx载入的模型是不可以在unity里编辑的. 我有一人特殊的需求就是想在unity里为mesh的各顶点K动画. 于是需要自己实现一个可编辑(其实只是顶点可以拖动)的mesh. 二,思路 ...
- makefile之变量
1 变量的定义 A variable is a name defined in a makefile to represent a string of text, called the variabl ...