2011-07-13 14 views
2

URLリソースからの読み取り方法次の例では、私はhttps://github.com/Kissaki/rest.go APIを使用しました。以下は、私がURLに文字列を書くために使用する例ですhttp://localhost:8080/cool しかし、私はURLからデータを取得する必要があります。GoのURLリソースからの読み取り

package main 

import (
    "fmt" 
    "http" 
    "github.com/nathankerr/rest.go" 
) 

type FileString struct { 
    value string 
} 

func (t *FileString) Index(w http.ResponseWriter) { 
    fmt.Fprintf(w, "%v", t.value) 
} 

func main(){ 
    rest.Resource("cool", &FileString{s:"this is file"})  
    http.ListenAndServe(":3000", nil) 
} 

答えて

4

あなたはちょうどあなたがこのような何かを行うことができ、HTTP経由でファイルを取得したい場合、私は

resp, err := http.Get("http://your.url.com/whatever.html") 
check(err) // does some error handling 

// read from resp.Body which is a ReadCloser 
+0

を推測しますが、私はresp.Bodyから内容を読みますか教えてもらえますか? – chinmay

+0

'content:= make([] byte、resp.ContentLength); n、err:= resp.Body.Read(content);そのようなものをチェック(エラー)しますか? ContentLengthが1つのチャンク全体で読み込まれるべきでないならば、私は – bjarneh

+0

と誤解していると思います。大量の '[] byte'チャンクでファイル全体を読むことは、' resp.ContentLength'の理想よりも小さくてもかまいません。つまり、ContentLengthが大きいかどうかを示す必要があります。 – bjarneh

関連する問題