私は外出してからしばらくしていましたが、私はドキュメントを読む方法を忘れてしまったようです。httpを使用する方法応答方法を読み込みますか?
私はこのようなGETリクエストをすれば...
resp, err := http.Get("https://example.com")
私はその後、応答がio.ReadCloser
タイプ(https://golang.org/pkg/io/#ReadCloser)であるBody
を持っていることがわかります。私はReadCloserがReader
とCloser
へのインターフェイスであることを知っています。
Reader
インターフェイスを見ると、(https://golang.org/pkg/io/#Reader)にバイトを読み取るRead
メソッドがあります。要約に
、HTTP Response
自体がRead
方法を有するReader
インタフェースを含んio.ReadCloser
インターフェースである本体を有します。
私はこれをしようとすると、私はRead
に応答がHTMLにバイトを、私は何も見えません期待が...
var html []byte
num, err := resp.Body.Read(html)
fmt.Println("\n\thtml: ", html)
fmt.Printf("\n\tnum: %v, err: %v\n", num, err)
出力:
html: []
num: 0, err: <nil>
は、私はここで何をしないのですか?
でこれをテストするように、あなたがに読むためにスペースを割り当てる必要がサンプルコードここで
は文句を言わない、それを仕事に行く遊び場httpリクエストで、linkを果たしているセキュリティ対策です。あなたは無制限のスライスしか提供していないので、Readは何も_read_できません。 – JimB
読み取りはlen(html)バイトまでをhtmlに読み込みます。ここではゼロです –