惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

酷 壳 – CoolShell
酷 壳 – CoolShell
H
Hacker News: Front Page
P
Palo Alto Networks Blog
T
ThreatConnect
Apple Machine Learning Research
Apple Machine Learning Research
博客园_首页
T
True Tiger Recordings
P
Privacy & Cybersecurity Law Blog
B
Blog
IT之家
IT之家
Last Week in AI
Last Week in AI
F
Full Disclosure
Hacker News: Ask HN
Hacker News: Ask HN
C
Comments on: Blog
Microsoft Azure Blog
Microsoft Azure Blog
C
Cybersecurity and Infrastructure Security Agency CISA
Microsoft Security Blog
Microsoft Security Blog
博客园 - 【当耐特】
N
News and Events Feed by Topic
NISL@THU
NISL@THU
腾讯CDC
雷峰网
雷峰网
Security Latest
Security Latest
李成银的技术随笔
M
Microsoft Research Blog - Microsoft Research
L
LangChain Blog
L
Lohrmann on Cybersecurity
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
C
Check Point Blog
Y
Y Combinator Blog
Recent Announcements
Recent Announcements
博客园 - Franky
N
News | PayPal Newsroom
V
V2EX
A
About on SuperTechFans
The Register - Security
The Register - Security
月光博客
月光博客
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
Google Online Security Blog
Google Online Security Blog
MyScale Blog
MyScale Blog
Cisco Talos Blog
Cisco Talos Blog
Vercel News
Vercel News
WordPress大学
WordPress大学
C
Cyber Attacks, Cyber Crime and Cyber Security
The Hacker News
The Hacker News
IntelliJ IDEA : IntelliJ IDEA – the Leading IDE for Professional Development in Java and Kotlin | The JetBrains Blog
IntelliJ IDEA : IntelliJ IDEA – the Leading IDE for Professional Development in Java and Kotlin | The JetBrains Blog
爱范儿
爱范儿
A
Arctic Wolf
L
LINUX DO - 最新话题
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More

博客园 - 三国梦回

spring boot 项目中oracle datasource设置schema spring cloud项目中,在bootstrap.yml中指定了active的profile,结果不生效 线上服务重启后,从nacos取不到配置了,怎么回事 nginx location没学好,把自己坑了一把 最近遇到的两个技术问题记录 linux服务器文件上传失败 线上遇到的redis和数据库数据未同步问题、redisson内部实现问题 复杂业务系统线上问题排查过程 nacos中配了一个数字,springboot取回来怎么变了 一个java空指针异常的解决过程 简单记录下最近2个月完成的线上系统迁移工作 centos停服,迁移centos7.3系统到新搭建的openEuler 端口telnet不通排查过程 https证书中的subject alternative name字段作用及如何生成含该字段的证书 linux中如何判断一个rpm是手动安装还是通过yum安装的 对接服务升级后仅支持tls1.2,jdk1.7默认使用tls1.0,导致调用失败 网络抓包文件太大,如何切分 分页查询不加排序有问题,加了排序怎么还有问题 利用mybatis拦截器记录sql,辅助我们建立索引(二) 利用mybatis拦截器记录sql,辅助我们建立索引(一) sql server版本太老,java客户端连接失败问题定位
技术问题记录20260125
三国梦回 · 2026-01-25 · via 博客园 - 三国梦回

问题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