尝试使用Golang进行HTTP通信

首先

当我沉迷于Golang时,我在Codewars上玩耍。
虽然很有趣,但之后我尝试了Swift和C#进行http通信,所以想着既然如此,我也可以尝试在Golang中做一下。

开发环境

    • Windows 10 Home 64bit

 

    • Visual Studio code 1.41.1

 

    go version go1.13.6 windows/amd64

搭建开发环境

我参考了以下的文章来搭建开发环境。真的很了不起,完全没有遇到任何困难就成功运行了。

使用VSCode搭建Go语言开发环境

让我们尝试进行HTTP通信。

我将尝试访问在之前的文章中使用Swift创建的网站。

检查包裹

这个公式文件非常好啊!我们好好阅读一下英文版的吧(救我,谷歌翻译老师!)

包装HTTP

如果使用https,则似乎需要设置Transport。
此外,Go 1.6及更高版本似乎支持HTTP/2。

让我们来试试看

以下是我尝试的代码。


package main

import (
    "fmt"
    "io/ioutil"
    "net/http"
)

func main() {
    url := "http://md5.jsontest.com/?text="
    url += "examble"
    resp, err := http.Get(url)
    if err != nil {
        fmt.Println("handle error")
    }
    defer resp.Body.Close()
    body, err := ioutil.ReadAll(resp.Body)
    fmt.Println(string(body))
}

这个网站是用webAPI吗?它可以访问并给出文本的MD5。
结果是通过Println输出的。如果不将其转换为字符串,将输出Rune列表,完全无法理解。

最后

好久没用过Golang了,但还是很有趣的。原本想在M5stack上使用webAPI访问Twitter,但看起来HTTPS库没有更新证书而直接加载,可能会导致中间服务器拦截之类的问题,所以目前还停滞不前…总之无论是单片机还是Golang,都取决于如何使用库,所以我想先让它在Golang中可用。

广告
将在 10 秒后关闭
bannerAds