Java URI和URL
1. URI统一资源标识符
URI(Uniform Resource Identify),统一资源标识符,是一个用于标识某一互联网资源名称的字符串。
URI的结构是 [scheme:]scheme-specific-part[#fragment]
和[scheme:][//authority][path][?query][#fragment]
String[] address = new String[]{"http://user:pwd@www.abc.com:8080/a/b/c?q=java#fragment","tel:+123-4567-8910#frag"
};for (String addr : address) {URI uri = new URI(addr);System.out.println("URL: " + uri);System.out.println("Scheme: " + uri.getScheme());if (uri.isOpaque()) {System.out.println("Specific: " + uri.getSchemeSpecificPart());} else {System.out.println("UserInfo: " + uri.getUserInfo());System.out.println("Authority: " + uri.getAuthority());System.out.println("Host: " + uri.getHost());System.out.println("Port: " + uri.getPort());System.out.println("Path: " + uri.getPath());System.out.println("Query: " + uri.getQuery());}System.out.println("Fragment: " + uri.getFragment());System.out.println();
}
opaque
表示URI是不是透明的,一个不透明的URI一般是不分层次的。输出
2. URL统一资源定位符
URL(Uniform Resource Location),统一资源定位符,可以从互联网上得到的资源的位置和访问方法的一种简洁的表示,是互联网上标准资源的地址。URL主要由Protocol://Authority/File#ref
组成。
String[] address = new String[]{"http://user:pwd@www.abc.com:80/a/b/c?q=java#fragment","ftp://www.abc.com:8080/"
};for (String addr : address) {URL url = new URL(addr);System.out.println("URL: " + url);System.out.println("Protocol: " + url.getProtocol());System.out.println("UserInfo: " + url.getUserInfo());System.out.println("Authority: " + url.getAuthority());System.out.println("Host: " + url.getHost());System.out.println("Port: " + url.getPort());System.out.println("DefaultPort:" + url.getDefaultPort());System.out.println("Path: " + url.getPath());System.out.println("File: " + url.getFile());System.out.println("Query: " + url.getQuery());System.out.println("Ref: " + url.getRef());System.out.println();
}
其中Authority
包含UserInfo
、Host
和Port
,File
由Path
和Query
组成。输出
3. URLEncoder和URLDecoder
将非文本内容转换成"%xx"
的形式。
URLEncoder.encode("value1=123&&valu2=pwd","UTF-8"); // value1%3D123%26valu2%3Dpwd
URLDecoder.decode("value1%3D123%26valu2%3Dpwd", "UTF-8"); // value1=123&valu2=pwd
源码下载: https://github.com/nai-chen/JavaBlog
Java URI和URL相关推荐
- java URI 与URL问题
File类存在两个看起来很相似的方法toURI()和toURL(),这两个方法都是将文件转换成一个链接,可以网络访问.只是URI和URL的应用范围不同,URI来的更广. 那么为什么要使用toURI() ...
- Java魔法堂:URI、URL(含URL Protocol Handler)和URN
转载自 Java魔法堂:URI.URL(含URL Protocol Handler)和URN 一.前言 过去一直搞不清什么是URI什么是URL,现在是时候好好弄清楚它们了!本文作为学习笔记,以便日 ...
- java中uri什么意思,java URI URL 个人理解。
java URI URL 个人理解. URI 是资源标识符.就是相当于一个人的家庭住址. URL和URI类似.是资源定位的. 和URI不同的就是URL提供了获取东西的方法. java.io.Input ...
- java uri 是什么_java的URI和URL到底是什么
在我们做开发时,经常有URI和URL弄混的问题,如果当时直接看URI和URL的源码就不可能弄混.首先我总结一下URI和URL的关系:他们的关系是:URL是一种特殊的URI,是URI包括URL, 下面用 ...
- JAVA中的URL和URI类的使用出现的非法字符问题
今天在利用URI来创建文件对象的时候出现了异常 说是urI中包含了非法字符,一看发现URI中有一个空格字符 RFC3986文档规定,Url中只允许包含英文字母(a-zA-Z).数字(0-9).-_.~ ...
- Java web后端1 XML URI与URL HTTP Tomcat
tomcat地址 规则:http://localhost:8080/项目名/文件名.html http://localhost:8080/WebProject/test.html 解决Tomcat 8 ...
- JAVA基础 - URI、URL和URN的区别
什么是URI(统一资源标识符)? "A Uniform Resource Identifier (URI) 是一个紧凑的字符串用来标识抽象或物理资源." 用于标识一个抽象或物理资源 ...
- Google App Engine for Java下的URL编码转换问题
URL编码问题 此部分参考英文资料: http://www.blooberry.com/indexdot/html/topics/urlencoding.htm http://www.w3school ...
- URI,URL和URN有什么区别?
人们谈论URL , URI和URN好像是不同的东西,但是用肉眼看起来都是一样的. 它们之间有什么明显区别? #1楼 这是我的简化: URN:唯一资源名称,即" what"(例如ur ...
- URI、URL和URN的关系
在学习Java网络编程时,对URI和URL概念模糊不清,于是进行了资料查询和知识总结.本文讲述了URI.URL和URN基本概念和区别联系,如有问题,切望指正. 一.URI.URL.URN基本概念 1. ...
最新文章
- django定时任务实现(言简意赅) Django折腾记之启动定时任务(转)
- Git bash 终止git log 命令
- Python 技术篇-用os库实现本地文件重命名实例演示
- c语言枚举入门,C语言入门之枚举与位运算(1)
- linux图形界面鼠标变成小手_加载Linux系统,树莓派变身桌面电脑
- python 硬件模拟_如何编写一个硬件模拟器?
- w7计算机的收藏夹里弄出桌面,Win7电脑桌面的便签怎么弄出来?
- DC漫画公司正在考虑进军NFT市场
- 一些常用的WebServices 天气,IP,邮编,Email,火车时刻表,股票 等等
- POJ 2406题解kmp算法的应用
- c语言freeimage库文件,FreeImage使用方法amp;FreeImage Tutorial
- ADB介绍—— 配置ADB环境变量
- 研表究明,汉字的序顺并不定一能影阅响读,比如当你看完这句话后,才发这现里的字全是都乱的。...
- 你为什么遇不到好公司
- gcc/g++搜索路径
- QTimer::singleShot使用
- dll修复精灵无法链接服务器,教你一键dll修复精灵怎么使用
- kindle paperwhite 使用体验
- anaconda使用jupyter
- micro-ros arduino esp32 ros2 笔记