При работе со стандартными форматами данных не пытайтесь свернуть свой собственный анализатор с помощью регулярных выражений или substr.Это URL.Найти существующий анализатор URL.
Node.js распространяется с одним !
const referer = "http://172.20.0.83:30923/oauth/authorize?client_id=8193654a-0b63-41df-953e-e6ae10807935&client_secret=somesecret&response_type=code&state=somestate=&redirect_uri=https://somestring.ngrok.io/api/oauthcallback";
const parsed_url = new URL(referer);
const state = parsed_url.searchParams.get("state");
console.log(state);
Примечание: в документации упоминается, что в Node есть два парсера URL.URL
global и url
модуль, который вы можете require
.Вам нужна относительно новая версия Node для использования URL
global.Если у вас его нет, обновите установку Node.js.
В качестве альтернативы я бы преобразовал ее в JSON и попытался извлечь ее из JSON.
Это будет красная сельдь.Чтобы преобразовать его в формат JSON, сначала необходимо проанализировать его.Если у вас есть проанализированные данные, все равно будет преобразовано их в JSON только для немедленного преобразования обратно в уже проанализированные данные.