golang http包无法获取https内容?

golang的http包无法获取https内容?http.Get("https://xxxx")运行到这里就卡住了
如果是http://则正常
goquery也是遇到https就卡住
不知道是什么原因

阅读 8.4k
3 个回答

是不是你访问的网站的https不合法了?

你可以尝试禁用证书检查选项试试看

package main

import (
    "fmt"
    "net/http"
    "crypto/tls"
)

func main() {
    tr := &http.Transport{
        TLSClientConfig: &tls.Config{InsecureSkipVerify: true},
    }
    client := &http.Client{Transport: tr}
    _, err := client.Get("https://xxxx/")
    if err != nil {
        fmt.Println(err)
    }
}

设置一个超时时间,如果超时检查目标网站https是否正常工作,检查下本机网络环境.

    client := &http.Client{
        Timeout: 5 * time.Second,
    }
    resp, err := client.Get("https://www.zhihu.com")

遇到这个问题我觉得除了进行跳过https证书的验证之后最好还需要在本地看看是不是代理,很多代理服务器不支持https

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题