尝试使用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中可用。