gpt4 book ai didi

node.js url.parse 只为主机和协议(protocol)返回 null

转载 作者:搜寻专家 更新时间:2023-10-31 23:33:06 25 4
gpt4 key购买 nike

我刚刚开始使用 node.js。根据https://www.npmjs.org/package/url url_parts 应该有 key 主机和协议(protocol)。但是两者都只返回空值。为什么?

我正在调用服务器http://localhost:8181/test/?var=vartest

http.createServer(function(req, res) {
var url_parts = url.parse(req.url,true);
console.log(url_parts);
...
}.listen(8181);

和控制台日志:

{ protocol: null,
slashes: null,
auth: null,
host: null,
port: null,
hostname: null,
hash: null,
search: '?var=vartest',
query: { var: 'vartet' },
pathname: '/test/',
path: '/test/?var=vartest',
href: '/test/?var=vartest'
}

最佳答案

你可以用这段代码得到你想要的:

http.createServer(function(req, res) {
var realUrl = (req.connection.encrypted ? 'https': 'http') + '://' + req.headers.host + req.url;
var url_parts = url.parse(realUrl,true);
console.log(url_parts);
...
}).listen(8181)

req.url 只是返回路径,你应该分别检测主机和协议(protocol)。

关于node.js url.parse 只为主机和协议(protocol)返回 null,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25005736/

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