[英]URL parsing issue : excluding '+' symbol
我有一個網址
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' }
查詢字符串不包括+符號。 如何使用解析方法獲取原始查詢字符串或建議任何其他方法?
每個查詢參數必須事先進行編碼。 在javascript(在這種情況下為NodeJS)中,您可以使用encodeURIComponent:
'use strict';
const url = require('url');
const uri = `viberpa://aafff+a@viber.com?phone_number=${encodeURIComponent('vv+9nc3pVg==')}&user_id=${encodeURIComponent('cc+9nc3pVg==')}&token_created_time=2018-05-28T11:31:42.760Z`;
const uri_parse = url.parse(uri, true);
console.log(uri_parse.query);
結果:
{
phone_number: 'vv+9nc3pVg==',
user_id: 'cc+9nc3pVg==',
token_created_time: '2018-05-28T11:31:42.760Z'
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.