我想问一下,有没有什么Java包或库有标准的URL规范化?
URL表示的5个组成部分
http:/www[点]example[点]com:8040folderexist?name=sky#head。
标准URL规范化的3种类型
基于语法的标准化
基于方案的规范化
基于协议的标准化
URI uri = URI.create("http://www.example.com:8040/folder/exist?name=sky#head");
String scheme = uri.getScheme();
String authority = uri.getAuthority();
// ...
正如其他人提到的那样。java.net.URL 或 java.net.URI 是一些明显的起点。
这里有一些其他的选择。
加里马提斯 (西班牙语 "叽叽喳喳 "的意思)似乎是一个有意见的、比较流行的Java的URL规范化库。源代码可以在 github.comsmolagalimatias.
galimatias是由于对java.net.URL和java.net.URI的失望而开始的。它们对于基本的用例来说都很好,但对于其他用例来说却严重损坏。
该 github.comsentricurl-normalization 库提供了另一种(在我看来是不寻常的)方法,它将域名部分反过来,例如 "com.stackoverflow "而不是 "stackoverflow.com"。
你可以在Github上找到其他的变体,有时用Python、Ruby和PHP等语言实现。
那么 java.net.URL
设置()?