【发布时间】:2018-06-06 11:35:36
【问题描述】:
我有一个网址
viberpa://aafff+a@viber.com?phone_number=vv+9nc3pVg==&user_id=cc+9nc3pVg==
当我尝试使用以下示例代码解析 URL 时
//input code
const url = require("url");
let uri = 'viberpa://aafff+a@viber.com?phone_number=vv+9nc3pVg==&user_id=cc+9nc3pVg==&token_created_time=2018-05-28T11:31:42.760Z'
let uri_pasrse = url.parse(uri, true);
console.log(uri_pasrse.query);
获取查询字符串:
{ phone_number: 'vv 9nc3pVg==',
user_id: 'cc 9nc3pVg==',
token_created_time: '2018-05-28T11:31:42.760Z' }
查询字符串不包括 + 符号。如何使用解析方法获取原始查询字符串或建议任何替代方法?
【问题讨论】:
-
解析也意味着解码。也许你只是为了分割碎片?
-
+是 空格字符 的编码,如果打算使用+符号,则应将其编码为 %2b。如果您不能这样做,请考虑用另一个序列预先替换+,解析然后替换回来。 -
+是 URI 中的特殊字符,需要进行 URL 编码(如%2B)。
标签: javascript node.js urlparse