#url #command-line #html #url-path #encode #decode #query

app urlmatic

在命令行上切割和重组 URL

6 个版本 (破坏性更新)

0.5.0 2022 年 6 月 10 日
0.4.0 2022 年 6 月 9 日
0.3.0 2022 年 6 月 7 日
0.2.1 2022 年 6 月 5 日
0.1.0 2022 年 5 月 19 日

#19 in #url-path

BSD-3-Clause

12KB
273 代码行

URL-matic

对 URL 进行一些有用的操作。这个工具目前功能有限。

根据基本 URL 解析 URL

根据提供的基 URL 解析相对 URL 并打印结果。

$ urlmatic resolve --base 'https://www.example.com/documents/letter.html?length=100' '../index.html?length=200'
> https://www.example.com/index.html?length=200

从 URL 中裁剪路径组件

从 URL 的路径末尾删除指定数量的组件并打印结果。

$ urlmatic trim --count 2 'https://www.example.com/documents/letter.html?length=100'
> https://www.example.com/?length=100

通过替换组件重写 URL

替换 URL 中的特定组件并打印结果。

$ urlmatic rewrite \
    --username admin \
    --host another.com \
    --path /cgi-bin/q \
    --query 'offset=0&length=100' \
    --fragment 'anchor-name' \
    https://example.com/query
> https://[email protected]/cgi-bin/q?offset=0&length=100#anchor-name

将查询字符串编码为 application/x-www-form-urlencoded 数据

URL-编码表单数据/查询数据。

$ urlmatic encode -k yep -v 👍 -k nope -v 👎
> yep=%F0%9F%91%8D&nope=%F0%9F%91%8E
$ urlmatic encode yep=👍 nope=👎
> nope=%F0%9F%91%8E&yep=%F0%9F%91%8D

将查询字符串解码为 application/x-www-form-urlencoded 数据

URL-解码表单数据并提取值。

$ urlmatic decode 'yep=%F0%9F%91%8D&nope=%F0%9F%91%8E'
>  yep: 👍
> nope: 👎
$ urlmatic decode --select yep 'yep=%F0%9F%91%8D&nope=%F0%9F%91%8E'
> 👍
$ urlmatic decode --select nope,yep 'yep=%F0%9F%91%8D&nope=%F0%9F%91%8E'
> 👍
> 👎

整合所有功能

使用几个命令组合和修改 URL。

$ echo 'https://example.com/path/to/query' |
    urlmatic rewrite --host another.com --query $(urlmatic encode -k yep -v 👍) |
    urlmatic trim --count 2
> https://another.com/path?yep=%F0%9F%91%8D

依赖关系

~4.5MB
~108K SLoC