var http = require('http');
var server = http.createServer(function (request, response) {
response.writeHead(200, {"Content-Type": "text/plain"});
response.end("Hello World\n");
});
server.listen(8000);
console.log("Server running at http://127.0.0.1:8000/");
我执行了以下curl命令:
curl "http://127.0.0.1:8000/"
Hello World
// space is not encoded
curl "http://127.0.0.1:8000/x y"
curl: (52) Empty reply from server
curl "http://127.0.0.1:8000/x"
Hello World
// space is encoded
curl "http://127.0.0.1:8000/x%20y"
Hello World
你能解释一下为什么我会卷曲52 ???
在这种情况下,我想送回500。我能这样做吗?
答案 0 :(得分:1)
即使缺少res.send
,您的路线也会出现问题。你可能意味着。
app.get('/item/:id', function(...) {
..
})
注意:
之前的id
。这将创建一个可以在req.params.id上访问的变量。
答案 1 :(得分:0)
我也有这个问题。
我想curl
期望已经编码的url,如果用双引号引用的话。如果它在url中找到空格,则会将其视为无效的URL。
这与wget
命令完全不同。如果你运行这个:
wget "http://127.0.0.1:8000/x y"
实际上wget为你编码网址,请求实际上将发送为:
http://127.0.0.1:8000/x%20y
这些事实真的逗我们的大脑。