http:服务器向HTTPS客户端提供了HTTP响应

时间:2019-06-07 05:21:05

标签: go google-geocoding-api

我正在使用go消费Google Maps地理编码API,但我不断收到此错误:

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

错误中的url在我的浏览器中可以正常工作,并给出适当的响应,但在下面的代码片段中不会给出我想要的内容:

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))
    }
}

2 个答案:

答案 0 :(得分:1)

问题出在代理服务器上,可能导致了某些证书问题。没有代理也可以正常工作。

答案 1 :(得分:-1)

我只是由 http.post("https://localhost:8080) 更改为 http.post("http://localhost:8080")。 只需删除 s 中的 https。 它的工作:-)