golang httpClient 指定读取前128个字节
时间: 2024-06-08 11:08:26 浏览: 115
可以使用`http.Client`的`Do`方法发送请求,并在请求的`Body`中使用`io.LimitReader`来限制读取的字节数。以下是一个示例代码:
```go
package main
import (
"fmt"
"io"
"net/http"
)
func main() {
client := &http.Client{}
req, err := http.NewRequest("GET", "https://example.com", nil)
if err != nil {
fmt.Println(err)
return
}
// 指定读取前128个字节
req.Header.Set("Range", "bytes=0-127")
resp, err := client.Do(req)
if err != nil {
fmt.Println(err)
return
}
defer resp.Body.Close()
// 读取响应的Body
body := make([]byte, 128)
_, err = io.ReadFull(resp.Body, body)
if err != nil {
fmt.Println(err)
return
}
fmt.Println(string(body))
}
```
在上面的代码中,我们使用`http.NewRequest`创建一个GET请求,并在请求头中设置了`Range`字段。这个字段用于指定客户端想要读取的字节范围。在这里,我们指定要读取的是前128个字节,即0-127字节。
然后,我们使用`http.Client`的`Do`方法发送请求,并使用`io.ReadFull`从响应的Body中读取前128个字节。最后,我们将读取到的字节转换为字符串并打印出来。
阅读全文