[英]Downloading just part of a file
我想使用 go 從 Internet 下載類文本文件的一部分。 我想從中下載的網站似乎不尊重 curl --max-filesize
和--range
。 此外,我讀到 http MaxBytesReader
仍然下載整個文件,但只存儲其中的一部分。
有沒有辦法只獲取文件的第一個 kb 然后關閉連接? 相當於在 chrome 上加載大頁面時按“x”。 我在想我可以運行一個將網站讀取到文件的線程,然后在一兩毫秒后終止該線程。 這可能嗎?
一種無需太多錯誤處理的簡單方法(必須添加可能是):
import (
"fmt"
"io"
"io/ioutil"
"net/http"
)
const readLimit = 1024 // bytes
func main() {
resp, err := http.Get("http://example.com/")
if err != nil {
// handle error
}
fixedReader := io.LimitedReader{R: resp.Body, N: readLimit}
data, _ := ioutil.ReadAll(fixedReader)
resp.Body.Close()
fmt.Println(string(data))
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.