尝试使用 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 个字节 拿到 ''