Getting error when trying to consume api -> http: server gave HTTP response to HTTPS client


(Advait Raykar) #1

I am using go to consume the google maps geocoding API, but I keep getting this error:

The HTTP request failed with error Get https://maps.googleapis.com /maps/api/geocode/json?address=Bangalore&key=KEY: http: server gave HTTP response to HTTPS client

The url in the error works fine in my browser and gives the appropriate response, but won’t give what I want in the code snippet below:

    package main
    
    import(
        "fmt"
        "io/ioutil"
        "net/http"
    )
    
    func main()  {
        key := "mysecretkey"
        location := "Bangalore"
        url := "https://maps.googleapis.com/maps/api/geocode/json?address="+location+"&key="+key
        fmt.Println("Starting the application...")
        response, err := http.Get(url)
    
        if err!=nil{
            fmt.Printf("The HTTP request failed with error %s\n", err)
        }else {
            data, _ := ioutil.ReadAll(response.Body)
            fmt.Println(string(data))
        }
    }

The weird part is that when I run the same code on repl.it (an online playground), it runs fine. I am running go 1.9.3