如何在处理函数中发出 http.Get 请求?例如,这个简单的代码“应该”在 localhost:8080 浏览器中返回空白页面,但它会出错。我在学校错过了什么?package mainimport "net/http"func index(w http.ResponseWriter, r *http.Request) { _, err := http.Get("www.google.com") if err != nil { panic(err) }}func main() { http.HandleFunc("/", index) http.ListenAndServe(":8080", nil)}
1 回答
江户川乱折腾
TA贡献1851条经验 获得超5个赞
问题是您应该在函数中使用协议(例如https://
)Get
:
_, err := http.Get("https://www.google.com")
您原始代码中的错误是Get www.google.com: unsupported protocol scheme ""
.
http.Get()
需要一个 URL,而www.google.com
不是一个 URL;URL 以scheme开头。尽管在浏览器中输入“www.google.com”很常见,但它仍然不是完整的 URL;友好的浏览器会在发出请求前自动添加“http://”或“https://”。 http.Get()
不会那样做;它期望以格式良好的 URL 开头。
- 1 回答
- 0 关注
- 78 浏览
添加回答
举报
0/150
提交
取消