我想问一下是否有任何Java包或库具有标准的URL规范化?
5个网址表示组件
http://www[dot]example[dot]com:8040/folder/exist?name=sky#head
3种标准网址规范化
基于语法的规范化
基于方案的规范化
基于协议的规范化
答案 0 :(得分:5)
正如其他人所说,java.net.URL和/或java.net.URI是一些明显的起点。
这里有一些其他选择:
Galimatias(西班牙语为" gibberish")似乎是一个固执的,相对流行的Java规范化库。源代码可以在github.com/smola/galimatias找到。
galimatias开始时对java.net.URL和java.net.URI感到沮丧。他们俩都很好 对于基本用例,但对其他用户严重破坏
github.com/sentric/url-normalization库提供另一种(在我看来不寻常)方法,它可以反转域部分;例如" com.stackoverflow"而不是" stackoverflow.com"。
您可以在Github上找到其他变体,有时用Python,Ruby和PHP等语言实现。
答案 1 :(得分:3)
URI uri = URI.create("http://www.example.com:8040/folder/exist?name=sky#head");
String scheme = uri.getScheme();
String authority = uri.getAuthority();
// ...
答案 2 :(得分:0)