Go语言实战案例 | 青训营笔记

67 阅读2分钟

在线词典

复制cURL

在彩云翻译打开相应的开发者调试工具,复制相应的cURL

image.png 代码如下:

``js //得到我们的JSON,这里替换了查词的意思,换成了good这个单词 curl 'api.interpreter.caiyunai.com/v1/dict'
-H 'authority: api.interpreter.caiyunai.com'
-H 'accept: application/json, text/plain, /'
-H 'accept-language: zh-CN,zh;q=0.9,en;q=0.8,en-GB;q=0.7,en-US;q=0.6'
-H 'app-name: xy'
-H 'content-type: application/json;charset=UTF-8'
-H 'device-id;'
-H 'origin: fanyi.caiyunapp.com'
-H 'os-type: web'
-H 'os-version;'
-H 'referer: fanyi.caiyunapp.com/'
-H 'sec-ch-ua: "Not_A Brand";v="99", "Microsoft Edge";v="109", "Chromium";v="109"'
-H 'sec-ch-ua-mobile: ?0'
-H 'sec-ch-ua-platform: "Windows"'
-H 'sec-fetch-dest: empty'
-H 'sec-fetch-mode: cors'
-H 'sec-fetch-site: cross-site'
-H 'user-agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/109.0.0.0 Safari/537.36 Edg/109.0.1518.52'
-H 'x-authorization: token:qgemv4jr1y38jyq6vhvi'
--data-raw '{"trans_type":"en2zh","source":"good"}'
--compressed `

代码生成,并复制到编译器中

  • 这个时候需要打开一个网址将其转化成代码
  • 代码生成网址
  • client.Do(req) 是Go语言中net/http包中的函数,用于发送HTTP请求。它接受一个 http.Request 类型的请求对象作为参数

用JSON解析器解析

**{  
    "rc":0,  
    "wiki":**{  
        "known_in_laguages":63,  
        "description":**{  
            "source":"tangible and intangible thing, except labor tied services, that satisfies human wants and provides utility",  
            "target":null  
        },  
        "id":"Q28877",  
        "item":**{  
            "source":"good",  
            "target":"商品"  
        },  
        "image_url":"<http://www.caiyunapp.com/imgs/link_default_img.png>",  
        "is_subject":"true",  
        "sitelink":"<https://www.caiyunapp.com/read_mode/?id=6354777915466339550246c5>"  
    },  
    "dictionary":**{  
        "prons":**{  
            "en-us":"[gʊd]",  
            "en":"[gud]"  
        },  
        "explanations":**[  
            "a.好的;善良的;快乐的;真正的;宽大的;有益的;老练的;幸福的;忠实的;优秀的;完整的;彻底的;丰富的",  
            "n.利益;好处;善良;好人",  
            "ad.=well"  
        ],  
        "synonym":**[  
            "excellent",  
            "fine",  
            "nice",  
            "splendid",  
            "proper"  
        ],  
        "antonym":**[  
            "bad",  
            "wrong",  
            "evil",  
            "harmful",  
            "poor"  
        ],  
        "wqx_example":**[  
            **[  
                "to the good",  
                "有利,有好处"  
            ],  
            **[  
                "good, bad and indifferent",  
                "好的,坏的和一般的"  
            ],  
            **[  
                "good innings",  
                "长寿"  
            ],  
            **[  
                "good and ...",  
                "很,颇;完全,彻底"  
            ],  
            **[  
                "do somebody's heart good",  
                "对某人的心脏有益,使某人感到愉快"  
            ],  
            **[  
                "do somebody good",  
                "对某人有益"  
            ],  
            **[  
                "be good for",  
                "对…有效,适合,胜任"  
            ],  
            **[  
                "be good at",  
                "在…方面(学得,做得)好;善于"  
            ],  
            **[  
                "as good as one's word",  
                "信守诺言,值得信赖"  
            ],  
            **[  
                "as good as",  
                "实际上,几乎等于"  
            ],  
            **[  
                "all well and good",  
                "也好,还好,很不错"  
            ],  
            **[  
                "a good",  
                "相当,足足"  
            ],  
            **[  
                "He is good at figures . ",  
                "他善于计算。"  
            ]  
        ],  
        "entry":"good",  
        "type":"word",  
        "related":**[  
  
        ],  
        "source":"wenquxing"  
    }  
}

生成request body

在线工具 - OKTools使用JSON转GO struct那个 会自动的生成对应的Struct结构体

image.png

打印结果