Go の http パッケージを使おうとしているのですが、 の構文がわかりません.Read
。HERE でマークされた次のものは、コンパイラによってすべて拒否された他のいくつかのことを試しましたが、コンパイルする必要がある唯一のものです。
package main
import "fmt";
import "http";
import "os";
func main () {
kinopiko_flair := "http://stackoverflow.com/users/flair/181548.json";
response, _, error := http.Get (kinopiko_flair);
if (error != nil) {
// I want to print out the error too.
fmt.Printf ("Error getting %s\n", kinopiko_flair);
os.Exit (1);
}
fmt.Printf ("Status is %s\n", response.Status);
var nr int;
var buf []byte;
nr, error = response.Body.Read (buf); // HERE
if (error != nil) {
// I want to print out the error too.
fmt.Printf ("Error reading response.\n");
os.Exit (1);
}
response.Body.Close ();
fmt.Printf ("Got %d bytes\n", nr);
fmt.Printf ("Got '%s'\n", buf);
}
URL は問題ないのでwget
問題ありませんが、実行すると、これbuf
は単なる空の文字列であり、nr
常にゼロです。からデータを取得するにはどうすればよいresponse
ですか? コンパイラは拒否し.ReadAll
、私が試した他のこと。
出力は次のようになります。
ステータスは 200 OK です 0 バイトを取得しました '' を取得しました