【问题标题】:Are there other ways to verify a URL is valid and exists?是否有其他方法可以验证 URL 是否有效且存在?
【发布时间】:2018-06-17 14:56:25
【问题描述】:

我正在尝试寻找除了使用 HttpURLConnection 之外的其他方法来检查链接是否有效,但我没有找到任何其他选项。似乎我遇到的大多数其他方法只是检查 URL 的格式是否有效,但没有连接到它以检查响应代码。

【问题讨论】:

  • 如果您没有连接到该 URL,那么您如何知道该 URL 无效?也许你的意思是主机名?
  • 如果您的目标是避免转移身体,您可以尝试 HEAD 而不是 GET。不确定它是否在所有地方都受支持(或允许)。 (参见 RFC 2616 9.4 引用:“此方法通常用于测试超文本链接的有效性、可访问性和最近的修改。”
  • 验证 URL 是否处于活动状态的唯一方法是连接到它并发送消息。 @Luis Manrique 的答案大部分是正确的。唯一的问题是并非所有 URL 都接受 GET。有些需要 POST、PUT 或其他方法。您必须知道要访问(并因此验证)它的方法和 URL。

标签: java url httpurlconnection http-response-codes


【解决方案1】:

如果你想用 java 检查一个特定的 URL,你可以尝试 ping 这个 URL 并检查它是否工作。试试这个例子!

https://java2blog.com/how-to-ping-url-and-get-status-in-java/

【讨论】:

  • 也许他不知道如何使用 HttpURLConnection 并试图为此获得其他选择,我不知道...
  • 在这种情况下,它仍然是一个仅链接的答案......您可能想要引用您链接的解决方案的相关部分。链接可能会失效。
  • 此外,还有其他状态码表明主机已启动等,不仅仅是 200/OK。 301/302 重定向等
  • ping 只检查与主机的连接而不是完整的 URL。
  • @Fildor 是的,我缺乏在 Stackoverflow 中回答的经验,我只是尝试获取链接。
猜你喜欢
  • 1970-01-01
  • 2015-10-12
  • 2023-04-01
  • 2020-03-07
  • 2011-09-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-07-05
相关资源
最近更新 更多