【问题标题】:Postman - Get only endpoint from a URLPostman - 仅从 URL 获取端点
【发布时间】:2018-12-14 18:01:26
【问题描述】:

有这种端点:

https://hey.com/p1/m/p2

我想去掉https://hey.com 并只获取预请求脚本上的/p1/m/p2 部分。我知道我可以使用request.url.replace(/^.*\/\/[^\/]+/, '') 做到这一点,得到所需的输出/p1/m/p2

有没有其他方法可以在不使用替换或正则表达式的情况下做到这一点? request.url.pathname 之类的东西(显然是行不通的)。

上面的 URL 只是一个例子,端点和 URL 会有所不同。

请记住,我在 Postman 环境中使用 预请求脚本,有些事情可能无法正常工作。

非常感谢。

【问题讨论】:

    标签: javascript postman


    【解决方案1】:

    您应该能够使用 URL 浏览器 API 来构造 URL 对象。

    (new URL(request.url)).pathname
    

    如果您使用的是桌面版本,则可以使用内置的 node.js API。

    var URL = require('url');
    
    URL.parse(request.url).pathname
    

    【讨论】:

    • 嗨,本。我收到以下错误:ReferenceError: URL is not defined
    • 以防万一其他人想要获取参数以及 路径名,请使用:URL.parse(request.url).pathname + URL.parse(request.url).search
    【解决方案2】:

    你可以试试这样的

    var fullUrl = request.url.split('/');
    fullUrl.splice(0,3);
    var url = a.join('/');
    console.log(url);
    

    【讨论】:

    • 你能告诉我拒绝投票的理由吗?这将帮助我改进我未来的帖子。我已经在邮递员中尝试过它并且它正在工作。所以希望它不是由于那个
    • 嗨,丹尼佛!我正在寻找一个 smarter 解决方案,而不是像我在帖子中所说的那样使用 replaceregex 。您的解决方案并没有改进我提出的解决方案,它只是字符串替换,这就是我不想做的。 Ben 的答案正是我想要的。
    猜你喜欢
    • 2019-08-29
    • 2021-05-31
    • 1970-01-01
    • 2012-09-23
    • 1970-01-01
    • 2011-01-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多