我正在解析网页并收集 href。由于网页是不受信任的来源,因此它可能包含具有无效语法或非 ASCII 符号的链接。所以,据我了解,我需要
1) 空格和非ascii符号与其他符号的转换
2) 验证步骤 1 生成的字符串(有效性标准:此 url 可以在浏览器中键入,并且能够检索 url 表示的页面,此类 url 可以由 URL/URI 构造函数构造,然后检索适当的页面 - 我可以在 firefox 中键入一些 url,但无法在 java 中构造实例)
3) 从 (1) 构造 java.net.URL/URI(如果有效)
我找到了两个验证库:1和2 (您更喜欢哪一个?)但是第一个子句没有足够的库(像 java.net.URLDecoder/URLEncoder 这样的工具)不适用于此目的。
最佳答案
你不能尝试在 try/catch 语句中从中创建一个 URL/URI 吗?我认为类的构造函数会自动处理验证
关于java - 转换和验证来自不受信任来源的 url,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6281540/