javascript - 更改URL的特定参数

标签 javascript node.js url url-encoding urldecode

我有 Node 应用程序并且我得到以下URL(在express的req.header.中)
我需要更改端口号(重定向网址),例如从7777788888

我尝试使用解析编码和解码但没有成功,但也许我错过了一些东西,

我需要使用标准(解析编码和解码)方式,不仅仅是替换...(有效)

知道该怎么做吗?在更改此 URL 后,我需要在最后将其保持完全相同相同的格式(在编码/解码之后...),如下所示。

http://gr-t6fa45e73.go.grp.corp:54001/oauth/authorize?response_type=code&redirect_uri=http%3A%2F%2Fro-d3ma32e85.mo.grp.corp%3A77777%2Flogin%2Fcallback&client_id=zs6.node

最佳答案

使用 url 怎么样?

var URL ="http://gr-t6fa45e73.go.grp.corp:54001/oauth/authorize?response_type=code&redirect_uri=http%3A%2F%2Fro-d3ma32e85.mo.grp.corp%3A77777%2Flogin%2Fcallback&client_id=zs6.node";

var parts = URL.split("redirect_uri="),    
decoded = decodeURIComponent(parts[1])),
red = url.parse(decoded);
red.port=88888;
URL = parts[0]+"redirect_uri="+encodeURIComponent(url.format(red));

更新使用此版本的 URI.js

我使用 .build 而不是 .format。

DEMO

结果:

http://gr-t6fa45e73.go.grp.corp:54001/oauth/authorize?response_type=code&redirect_uri=http%3A%2F%2Fro-d3ma32e85.mo.grp.corp%3A88888%2Flogin%2Fcallback%26client_id%3Dzs6.node

关于javascript - 更改URL的特定参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32271905/

相关文章:

python - 相同的 URL 请求在 python->urllib 中失败,但在curl 中则失败

javascript - Ipad - 我的 Webview/UIkit safari 浏览器无法运行 javascript

javascript - 修改 .toggle 上的 div 样式 - jquery

javascript - 使用 window.open 方法

javascript - 在 typescript 中使用express中的回调函数数组

javascript - 停止在 Url 重定向 android 上加载网页

ios - 为什么 swift 无法识别我的资源?

javascript - 嵌套 Json 访问值

node.js - 有没有办法使用任何 npm 或 Google 云 API 从 Node 获取虚拟机的外部 IP 地址?

javascript - Node.js | MongoDB 计数() : Getting Count Before and After Inserting Data