2016-07-18 6 views
0

から応答内容を読みます。ゴランがウェブリソース(GET)をリクエストするのに私はGorilla Toolkitを使用していますが、レスポンスボディを処理したいのですが、アクセス方法はわかりません。ここに私のmain.goがあるゴリラツールキットClient.get

package main 

import (
    "log" 

    "github.com/gorilla/http" 
) 

func main() { 
    url := "http://ubuntu.com" 

    status, h, r, err := http.DefaultClient.Get(url, nil) 
    if err != nil { 
     log.Fatal(err) 
    } 
    if r != nil { 
     defer r.Close() 
    } 
    log.Printf("Status: %v", status) 
    log.Printf("Headers: %v", h) 

    var p []byte 
    _, err = r.Read(p) 
    if err != nil { 
     log.Fatal(err) 
    } 
    log.Printf("MSG: %v", p) 
} 

ゴリラレスポンスオブジェクトは、タイプio.ReadCloserであり、私はそれにアクセスする方法のまわりで私の頭をラップcan't。どんな助けもありがとうございます。

答えて

3

使用ioutil.ReadAll []バイトとして全体のレスポンスボディを読み込む:

status, h, r, err := http.DefaultClient.Get(url, nil) 
if err != nil { 
    log.Fatal(err) 
} 
var p []byte 
if r != nil { 
    p, err = ioutil.ReadAll(r) 
    r.Close() 
    if err != nil { 
     log.Fatal(err) 
    } 
} 

私はあなたの代わりにゴリラクライアントのnet/http clientを使用することを示唆しています。 net/httpクライアントとnet/httpクライアントの使い方の改善例がさらにあります。

関連する問題