piapia123
zh

数据库连接串解析与生成

网络

所有处理都在浏览器本地完成,数据不上传服务器

输入
把文件拖到这里可直接载入
输出

把一条连接串拆成主机、端口、库名、用户名、口令与参数,或反过来从这些字段拼出一条。URL 形式(`postgres://user:pass@host:5432/db?sslmode=require`)与键值形式(`host=… port=… user=…`)都认。 口令里的 `@`、`:`、`/` 必须百分号编码,而且只能编一次。 解析时解码、生成时编码;如果你粘进来的口令看起来已经编码过(含 `%XX`),工具会明确提示,而不是默默编成两次(`p%40ss` → `p%2540ss`)。 全部在浏览器本地完成,连接串与口令一个字节都不会离开你的设备,也没有任何网络请求。

功能

  • 两种模式:解析连接串、从字段生成连接串
  • 四种目标:PostgreSQL、MySQL、MongoDB、Redis,各自用对的默认端口
  • URL 形式与 libpq 风格的键值形式都认
  • 口令里的特殊字符自动百分号编码,解析时自动解码
  • 口令看似已编码时给出警告,避免 `%40` 被编成 `%2540`
  • 识别 sslmode / ssl-mode / tls 等参数并逐条列出
  • Redis 的 TLS 自动改用 `rediss://` 协议头
  • 每行可单独复制,也可复制全部

使用方法

  1. 选「解析」或「生成」
  2. 解析:把连接串粘进输入框,逐字段结果立刻出现
  3. 生成:选目标数据库,填主机、端口、库名与口令
  4. 需要时切换 SSL 要求,连接串实时更新

常见问题

为什么我的口令看着对,却连不上?
多半是编码了两次。生成时工具会把口令里的 `@` 编成 `%40`;如果那条串本来就含 `%40`(比如从别的工具复制来的),再编一次就成了 `%2540`,服务器拿到的口令与你设的不一样。这里会在输入含 `%XX` 时给出警告 —— 遇到提示,就把口令改回解码后的明文再生成。
解析出来的口令为什么是明文?
因为连接串里存的是编码形式,而你要核对的是数据库里设的那个值。工具在解析时做一次百分号解码,所以 `p%40ss` 显示为 `p@ss`。这只是把连接串本身的编码还原,不改变任何数据。
键值形式没有协议头,怎么知道是哪种数据库?
靠「目标数据库」下拉框。URL 形式自带协议头(`postgres://`、`redis://`…)能自动判断;键值形式是 libpq / JDBC 的 conninfo,本身不含数据库类型,所以以你选的为准。
数据会上传吗?
不会。整个解析与生成都在浏览器里完成,连接串(含口令)一个字节都不会离开你的设备,也不发起任何网络请求。

相关工具