Recently I had faced an issue while using net/http
to get the resource from an URL:
Here is my program:
package main import ( "fmt" "log" "net/http" ) type WebScrapper interface { PullContent(url string) } type webScrapper struct { } func (w *webScrapper) PullContent(url string) { resp, err := http.Get(url) if err != nil { panic(err) } defer (func() { if r := recover(); r != nil { fmt.Printf("Recovered from panic %s", r) } })() log.Printf("Got response for %s and status is %s", url, resp.Status) } func main() { w := webScrapper{} urls := []string{ "www.google.com", "www.facebook.com", "www.gmail.com", } for i := 0; i < len(urls); i++ { w.PullContent(urls[i]) } }
yes its a lot of code, but don't worry about code having interfaces and structs and defer. The code is breaking mainly at getting resource from URL.
Error:
Get www.google.com: unsupported protocol scheme ""
Solution:
To fix unsupported protocol scheme
prepend http://
before every URL.
urls := []string{ "http://www.google.com", "http://www.facebook.com", "http://www.gmail.com", }
That's it!!!
Top comments (0)