はじめに
Golang
にはまったときにCodewars
で遊んでました。
楽しかったのですが、そのあとSwift
やC#
でhttp
通信やったのでせっかくなのでGolang
でもやってみようかと思います。
開発環境
Windows 10 Home 64bit
Visual Studio code 1.41.1
go version go1.13.6 windows/amd64
開発環境構築
開発環境の構築は以下の記事を参考にさせていただきました。
本当につまるところなく動いたのですごいなぁと思います。
Http
通信してみよう
前回の記事でSwift
でやってみたサイトにアクセスしてみます。
Packegeを調べる
公式のドキュメントが優秀ですね。
ちゃんと英語版で読みましょう(助けてGoogle翻訳先生!)
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
で出力しています。string
に変換してあげないとRune
のリストが出力されるので全くわかりません。
最後に
久しぶりにGolang
使いましたがやはり楽しいですね。
本当はM5stack
でwebAPI
使ってTwitter
にアクセスしたりしてみたかったのですが、どうやらHTTPS
のライブラリで証明書を更新しないで読み込むので中間サーバー傍受ができるとかなんとか書いてたので今停滞中です・・・
とりあえずマイコンだろうがGolang
だろうがライブラリの使い方次第なのでまずはGolang
で使えるようにしようかなと思います。