ali*_*ali 2 google-app-engine go
我试图http.Client在go中只下载第一个1kb的大文件,但似乎response.Body总是完全缓冲.是否可以控制缓冲多少?
如果是这样,如何与app engine urlfetch服务一起使用?
以下适用于python中的app engine urlfetch,我正试图将其移植到:
from urllib2 import urlopen
req = Request(url)
urlopen(req).read(1024) # Read the first 1kb.
Run Code Online (Sandbox Code Playgroud)
将"范围"请求标头属性设置为"bytes = 0-1023"应该有效.
package main
import (
"fmt"
"io/ioutil"
"net/http"
)
func main() {
req, _ := http.NewRequest("GET", "http://example.com", nil)
req.Header.Add("Range", "bytes=0-1023")
fmt.Println(req)
var client http.Client
resp, _ := client.Do(req)
fmt.Println(resp)
body, _ := ioutil.ReadAll(resp.Body)
fmt.Println(len(body))
}
Run Code Online (Sandbox Code Playgroud)
同样的事情应该适用于app引擎中提供的http.Client.