服务堆栈返回 IOException:文件名、目录名或卷标语法不正确
Posted
技术标签:
【中文标题】服务堆栈返回 IOException:文件名、目录名或卷标语法不正确【英文标题】:Service Stack returns IOException: The filename, directory name, or volume label syntax is incorrect 【发布时间】:2021-10-30 12:38:52 【问题描述】:我们在 .NetCore3.1 (https://www.example.com) 上创建了一个 servicestack API。当使用 https://www.example.com/http://test
或 https://www.example.com/php://test
调用 api 时,我们会得到 IOException 而不是 404 响应。
它看起来像是在寻找我们托管 API 的特定文件夹。
HostConfig 中是否有任何标志可用于禁用此验证?
错误:
https://www.example.com/http://test:IOException: The filename, directory name, or volume label syntax is incorrect. : 'location\http:'
https://www.example.com/php://test : IOException: The filename, directory name, or volume label syntax is incorrect. : 'location\php:'
【问题讨论】:
【参考方案1】:这应该从this commit 解决,其中ServiceStack 将不再尝试访问包含非法字符的路径的文件系统。
从 v5.12.1+ 开始提供此修复程序,现在是 available on MyGet
【讨论】:
感谢@mythz 的快速更新。由于不允许使用私有 nuget 提要,因此知道何时将其推送或发布到公共 nuget? @NithinKumarNarayanaSwamy 我们刚刚发布了一个主要版本,所以下一个版本暂时不会发布。至少在 .NET 6 LTS 发布之前。 MyGet 不是私有的,它是一个公共 NuGet 源,供客户在主要版本之间访问我们的预发布包。另一种方法是从 GitHub 本地构建并使用本地构建。以上是关于服务堆栈返回 IOException:文件名、目录名或卷标语法不正确的主要内容,如果未能解决你的问题,请参考以下文章
收到错误 java.io.IOException:服务器返回 HTTP 响应代码:401
Java Http(s)URLConnection java.io.IOException:服务器返回 HTTP 响应代码:403