【问题标题】:What kind of example url I can use that will immediately cause a request to fail?我可以使用什么样的示例 url 会立即导致请求失败?
【发布时间】:2012-05-24 07:37:03
【问题描述】:

如果我只想指出一个尽快失败的资源,我应该使用什么“官方”网址?

我不想使用 www.example.com,因为它是一个接受和响应请求的实际站点,并且我不希望某些东西需要永远等待并因超时而失败(例如使用随机的私有 IP 地址键入可以导致)。

我想写一个无效的地址或只是一些随机文本,但我认为它不会像“www.example.com”那样漂亮和清晰。

【问题讨论】:

  • 看看这个问题:stackoverflow.com/q/10456044
  • 可以制作一个脚本,该脚本会立即返回您想要的任何错误代码。
  • @Rocket: 嗯,192.0.2.0 对我不好,因为最终超时需要大约 30 秒,但是以 0 开头的地址的想法似乎可行。
  • @web_bod:对于注定要失败的事情(同时仍然可以立即识别为 URL 或 IP 地址),我想要“www.example.com”的道德等价物

标签: html http url ip


【解决方案1】:

如果您想要一个无效的 IP,请尝试使用 0.0.0.0

IP 的第一个八位字节不能是0,所以0.0.0.00.255.255.255 将无效。

有关更多信息,请参阅此问题:what is a good invalid IP address to use for unit tests?

【讨论】:

    【解决方案2】:

    https://www.rfc-editor.org/rfc/rfc5735:

    192.0.2.0/24 - 此块被分配为“TEST-NET-1”,用于文档和示例代码。在供应商和协议文档中,它通常与域名 example.com 或 example.net 结合使用。如 [RFC5737] 中所述,此块中的地址不会合法地出现在公共互联网上,并且可以在没有与 IANA 或互联网注册机构进行任何协调的情况下使用。参见[RFC1166]。

    【讨论】:

    • 为什么对 192.0.2.0 的请求需要大约 30 秒才能超时,但 0.0.0.0 会立即超时?
    • @Rocket:我不知道。可能是我正在使用的浏览器,可能是代理服务器,我真的不知道。
    • @missingno:我的猜测是它必须实际尝试连接到192.0.2.0,而0.0.0.0 是一个无效的IP,所以它甚至没有尝试。
    【解决方案3】:

    使用.invalid,按照RFC 6761

    域“无效”。以及任何属于“.invalid”的名称。是特殊的 [...] 用户可能假设对“无效”名称的查询将始终返回 NXDOMAIN 响应。

    因此,假设 DNS 表现良好,对 https://foo.invalid/bar 的请求将始终失败。

    相关问题:What is a guaranteed-unresolvable (but valid) URL?

    【讨论】:

      【解决方案4】:

      如果它在浏览器中,那么 about: 就没什么用了 - 但如果您的服务返回正确的 HTTP 状态代码会更好 - 例如200 = 好,404 = 未找到,等等。

      http://en.wikipedia.org/wiki/List_of_HTTP_status_codes

      【讨论】:

      • 但这不会失败,不是吗?
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-11-02
      • 2021-11-01
      相关资源
      最近更新 更多