I'm trying to use resp, err := http.Get(url)
command to write the response to file as well as use the same response to extract links.
After I write the content to a file using resp.Write(f)
, I cannot use resp.Body
for another purpose (for the response from the above url) without making another http.Get
request.
I tried resp2 := bytes.NewBuffer(resp)
. It gives eror as type does not match. I've tried copy as well.
Assuming the response fits in memory, just create a buffer and use resp.Write, like (untested, basically correct):
var b bytes.Buffer
if err := resp.Write(b); err != nil {
// handle error
} else {
// Do something with buffer
}
for code that works with any reader, use: ioutil.ReadAll, which returns a new []byte containing the data that you can then wrap in a bytes.Buffer