はじめに
GolangにはまったときにCodewarsで遊んでました。
楽しかったのですが、そのあとSwiftやC#でhttp通信やったのでせっかくなのでGolangでもやってみようかと思います。
開発環境
Windows 10 Home 64bitVisual Studio code 1.41.1go 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で使えるようにしようかなと思います。