Python HTTP服务器无法为名称中包含%字符的文件提供服务

Python HTTP服务器无法为名称中包含%字符的文件提供服务,python,node.js,linux,http,Python,Node.js,Linux,Http,我创建了一个文件 touch s%22.txt 已通过启动HTTP服务器 python -m http.server 并要求 curl http://127.0.0.1:8000/s%22.txt 显示HTTP服务器错误: "GET /s%22.txt" Error (404): "Not found" 我从python的http.server切换到nodejs的http服务器,得到了相同的错误 如果我将文件名替换为不带%字符的文件名,则效果良好

我创建了一个文件

touch s%22.txt
已通过启动HTTP服务器

python -m http.server
并要求

curl http://127.0.0.1:8000/s%22.txt
显示HTTP服务器错误:

"GET /s%22.txt" Error (404): "Not found"
我从python的http.server切换到nodejs的http服务器,得到了相同的错误

如果我将文件名替换为不带%字符的文件名,则效果良好


如何通过HTTP请求访问名称中包含%字符的文件?

请尝试
curlhttp://127.0.0.1:8000/s%2522.txt
你试过卷曲吗http://127.0.0.1:8000/s%2522.txt也就是说,使用
%25
来转义
%
哦,这很有效,谢谢!%用于对URL进行编码,这就是为什么您需要这样转义它。