Loading

技术问题记录20260125

问题1:http报文转curl

背景

处理线上问题时,偶尔是需要进行网络抓包的(如tcpdump),用wireshark分析抓包文件时,一般能看到http请求的报文。

如下面这样:

image-20260125135624273

有时候需要用postman这类工具来调用,进行复现,简单来说,需求就是:将上面图里的报文转换为postman这类工具里的请求。

有时候请求比较复杂,header也多,手工搞比较麻烦,而且线上问题处理都比较赶时间,如果能快速转换的话,是最好不过了。

我的方案是:分两步。先想办法,将上述报文转换为标准的curl命令,再将curl命令转换为postman请求。

报文转curl

经过搜索,发现有这么一个在线网站:可以用这个在线网站: https://curl.se/h2c/

image-20260125140012663

上面这个网站就是curl这个项目的官网,算是官方背景了。大家可以直接用这个,方便。

image-20260125140131349

不过我发现,在转换content-type为:application/x-www-form-urlencoded 这种的时候,结果中会缺失这个header,如下:

image-20260125140247867

我自己想办法修复了一下,我找到了这个工具的源码:

https://github.com/curl/h2c

源码仓库里还有linux命令行版本h2c,不过一样存在上述的bug。

image-20260125140453271

我看了下源码,是perl语言写的,我当时想着,现在大模型也厉害,直接让他给我转换成java语言吧。

最后我就转了个java版本,修复了那个bug,并且让大模型用javafx弄了个图形界面的版本(javafx代码我也看不懂,也懒得看,能用就行了)。

源码我放在了:

https://gitee.com/dumpcao/http-to-curl-converter

自己mvn package打个包就能用,或者直接用我仓库里提交的jar包,下下来双击运行就能用:

image-20260125140657277

curl转请求

postman可以直接导入。

image-20260125141145134

我用了apifox也支持curl导入,不过要繁琐一点,可自行搜索。

问题2:集合比较工具

有时候,临时要对两个集合(如两个list、set)进行比较,数据可能来源于不懂技术的同事发给你的两个excel,比如看看到底有哪些差异,多了什么,少了什么等等。

以前我有时候会用excel排序后对比,有时候也会写个临时代码来弄,但还是比较麻烦。

发现了有这类在线工具,可网上搜索:集合比较。

推荐1个我找到的:

https://jsons.top/menus.html

image-20260125141545909

或者现在也可以让大模型帮忙写一个,打成jar,随时可以本地执行。

问题3:数据库序列设置

我们现在用的国产数据库,是基于postgresql的,表的主键不是mysql那一套,都是从序列中获取。

有时候我们会直接用insert语句插入数据库,且是手动指定了id值的:

image-20260125141909399

这种sql执行完成后,由于是手动设置的id值,没从序列中获取,所以序列中的id值可能还是旧的,比如上述图片中,设置的id值都到4了。假设序列的最新值还是3,下一次有人从序列里取值,就会取到4,然后插入的话,就会报主键冲突。

所以,我们自己得记得,执行了手动指定了id的sql后,要把序列值同步更新:

就可以执行如下sql:

-- 手动更新序列的值。设置序列table_config_id_seq的最新值为table_config中的最大值
SELECT setval('table_config_id_seq', (SELECT max(id) FROM table_config));   

-- 查看序列的当前值
select currval('table_config_id_seq');	

问题4:dbeaver离线环境下下载驱动失败

在没有互联网的机器上,安装了dbeaver,也会发现真正去连接数据库的时候,竟然还要联网去下载驱动,此时就会报错。

我们可以这样,先在能联网的机器上,找到对应的数据库驱动(就是各种驱动jar包):

image-20260125142804539

image-20260125142835353

image-20260125142851236

拿到这个jar包后,拷贝到离线环境中,同样是在上述窗口中,删除全部的老的记录,再add file添加jar包,重连即可:

image-20260125143005996

posted @ 2026-01-25 14:37  三国梦回  阅读(2)  评论(0)    收藏  举报