【问题标题】:Kestrel: error if I use URL with non-ASCII charactersKestrel:如果我使用带有非 ASCII 字符的 URL,则会出错
【发布时间】:2023-03-25 17:16:01
【问题描述】:

我正在使用 Kestrel 来托管我的 ASP.Net Core Web 应用程序。我需要在 URL 中使用特殊字符(非 ASCII)。

如果我在 Visual Studio 中使用 IIS Express,我可以在 URL 中使用非 ASCII 字符。如果我使用 Kestrel,我将无法使用它。我可以配置 Kestrel 以便在 URL 中使用非 ASCII 字符吗?

如果没有:.NET Standard 1.4 中是否有办法将 unicode URL 编码为 ASCII URL?

谢谢转发。

问候 马蒂亚斯

【问题讨论】:

  • 你得到什么错误?
  • 我只收到 400 错误请求
  • 将会有更多的信息可用。 400错误的内容是什么?
  • 我知道。我还需要更多信息。但内容中没有更多信息。顺便说一句,我正在使用 Postman 调用 Web 服务。
  • 看看this 并使用它来获取更多信息。

标签: url asp.net-core .net-standard non-ascii-characters kestrel


【解决方案1】:

一般来说,任何特殊字符都应该进行urlencoded。这是将它们包含在 URL 中的唯一安全方法。具体来说,这不仅仅是一个 ASCII 问题,而是一个非 URL 安全字符问题。 URL 可以是 unicode,因此有大量的非 ASCII 字符非常好。

System.Runtime.Extensions NuGet 提供 .NET Standard 1.0+ 应支持的 urlencoding。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-06-19
    • 2011-10-07
    • 2020-12-21
    • 1970-01-01
    • 1970-01-01
    • 2012-08-16
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多