gpt4 book ai didi

java - URL 中文件路径的 blackslah 问题

转载 作者:行者123 更新时间:2023-12-02 03:49:39 24 4
gpt4 key购买 nike

我们有一个中间件,它可以根据收到的不同类型的请求生成一个 URL 来下载一些文件。现在我们的中间件部署在windows环境下。因此,在生成附加文件路径的 url 时,我们使用操作系统的默认路径分隔符。对于 Windows,默认文件路径分隔符是 /,即反斜杠。如果您想知道为什么 Windows 的文件分隔符是 / 我这里有一个不错的博客 here .

因此生成的网址通常如下所示。

https://test.com:9000/elearning/filedownload?file-path=bulk\AssembledBDEFile1_1455748875242.xml

您可以观察到,由于默认的文件路径分隔符,在 bulk 关键字后开始了反斜杠。

此中间件由不同的第三方应用程序使用。问题是第三方不接受这个 url,他们说,所有通信都是通过 Web 协议(protocol)进行的,因此只应出现正斜杠,并在使用\时抛出异常。我们使用操作系统默认文件分隔符,因为我们想让我们的中间件平台依赖。

我们要求他们接受/和\组合的网址,但他们不接受我们的请求,说\不是网络协议(protocol)的一部分。

所以我只想知道使用\是否违反网络协议(protocol),而我们的做法是错误的。意味着我们必须改变我们的中间件,或者我们应该强制他们改变他们的代码。

谁能解释一下\在网络协议(protocol)中的作用吗???

最佳答案

反斜杠 \ 不是 URL 中允许的字符,因此您需要应用 percent-encoding并将其写为%5C:

https://test.com:9000/elearning/filedownload?file-path=bulk%5CAssembled...

关于java - URL 中文件路径的 blackslah 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35983095/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com