【问题标题】:Converting and validating url from untrusted source从不受信任的来源转换和验证 url
【发布时间】:2011-09-11 00:17:42
【问题描述】:

我正在解析网页并收集href。由于网页是不受信任的来源,它可以包含具有无效语法或非 ascii 符号的链接。所以,据我了解,我需要

1) 转换空格和非ascii符号等符号

2) 验证由步骤 1 生成的字符串(有效性标准:此 url 可以在浏览器中输入,并且它将能够检索由 url 表示的页面,这样的 url 可以由 URL/URI 构造函数构造,而不是适当的页面检索到 - 我可以在 firefox 中键入一些 url,但不能在 java 中构造实例)

3) 如果有效,则从 (1) 构造 java.net.URL/URI

我找到了两个验证库:12(您更喜欢哪一个?)但没有足够的库用于第一个子句(java.net.URLDecoder/URLEncoder 等工具)不适用于此目的.

【问题讨论】:

    标签: java url html-parsing


    【解决方案1】:

    你不能尝试在 try/catch 语句中创建一个 URL/URI 吗?我认为该类的构造函数会自动处理验证

    【讨论】:

    • 你需要转换什么?!
    • >"转换空格和非 ascii 符号和其他符号"。您可以在浏览器地址面板中输入 url,它会自动转换为有效的 url,但是如果您尝试通过适当的构造函数构造 URI/URL,您会得到 IllegalSyntaxException。
    • 构造函数new URL(String)只能抛出MalformedURLException;这是没有指定 http:// 或任何内容的时候。它会处理其余的事情!?
    猜你喜欢
    • 2015-04-30
    • 1970-01-01
    • 2011-02-26
    • 2019-05-20
    • 2022-07-06
    • 2012-07-05
    • 1970-01-01
    • 1970-01-01
    • 2023-04-10
    相关资源
    最近更新 更多