URI格式
一、一个URI异常
示例代码
1 | public static void main(String[] args) throws URISyntaxException { |
报错信息
1 | Exception in thread "main" java.net.URISyntaxException: Illegal character in authority at index 7: http://test.jd.com /index.html |
异常分析
JAVA中根据格式解析认证模块时,如果出错,其报错非法字符的位置为认证模块的首位,而不是真正出错的位置。
如http://test.jd.com /index.html
解析认证组件 test.jd.com
时出错(多了一个空格),报错的非法字符位置为7,即http://
后面的位置。
二、URI格式介绍
URI的通用格式定义:
URI = scheme:[//authority]path[?query][#fragment]
其中:authority = [userinfo@]host[:port]
URI中的authority组件:
1)认证组件被互联网Server或特定协议的命名机关注册登记;
2)认证组件跟在//
后面;遇到符号?
,/
结束。
3)认证模块是非必须的;URI示例