词典| 青训营

98 阅读1分钟

在线词典

通过调用第三方的API 查询单词并打印出来 (通过go语言 发送HTTP请求、解析json、打印请求)

抓包

首先找到这个API

1690636466919.png

这样就找到了翻译时发出的请求,右击dict,curl一下,来到curlconverter.com/ 网站(因为请求复杂,自己用代码实现非常耗时,所以用这个网站可以直接构造请求代码)

1690642602136.png

(构造后代码)

使结果清晰可见

现在直接发送请求结果很乱不清楚,所以得改一下

1690642339236.png

将之前写的地方修改成这个样子,结构体打上json标签以实现序列化发送请求

1690642920095.png

加上这几句后,检查了状态码有了错误处理,但是美化反序列化后的返回值还需要通过oktools.net/json2go 创建的结构体

1690643425765.png

这样就可以操作反序列化后的返回值了,我们可以自己选择要返回其中的什么

灵活修改要翻译的词

由于转换过来的请求是死的,只能翻译固定的,所以需要一个变量用来灵活翻译

1690645580965.png

把上面的一系列操作放到query中,这样就实现灵活翻译了 os.Args第二个参数没弄懂,只能这样输入啦