Golang : Save(pipe) HTTP response into a file
Problem :
You want to save or pipe a website content via http.Get()
function to a file for processing.
Solution :
Read the http response and save the body into a file via io.Copy()
function. For example :
package main
import (
"fmt"
"io"
"net/http"
"os"
)
func main() {
response, err := http.Get("https://www.socketloop.com")
if err != nil {
fmt.Println(err)
os.Exit(1)
}
defer response.Body.Close()
htmlfile, err := os.Create("file.html")
if err != nil {
fmt.Println(err)
os.Exit(1)
}
defer htmlfile.Close()
// save response body into a file
io.Copy(htmlfile, response.Body)
fmt.Println("HTML data saved into file.html")
}
By Adam Ng
IF you gain some knowledge or the information here solved your programming problem. Please consider donating to the less fortunate or some charities that you like. Apart from donation, planting trees, volunteering or reducing your carbon footprint will be great too.
Advertisement
Tutorials
+10.7k SSL : The certificate is not trusted because no issuer chain was provided
+7.5k Golang : How to check variable or object type during runtime?
+23.2k Golang : Generate MD5 checksum of a file
+14k Golang : Basic authentication with .htpasswd file
+8.1k Golang : Take screen shot of browser with JQuery example
+11.2k Golang : How to parse plain email text and process email header?
+12.5k Golang : Image to ASCII art example
+38.2k Golang : Remove dashes(or any character) from string
+39.8k Golang : How to count duplicate items in slice/array?
+11.4k Golang : Display list of countries and ISO codes
+12.2k Golang : Increment string example
+14.5k Golang : Intercept Ctrl-C interrupt or kill signal and determine the signal type