为了账号安全,请及时绑定邮箱和手机立即绑定

浏览器在执行 http 时返回带有 golang 的空响应。进入休息 API

浏览器在执行 http 时返回带有 golang 的空响应。进入休息 API

Go
UYOU 2022-09-05 10:06:53
尝试在执行 http 时捕获错误。获取,但如果远程服务器出现错误,例如没有答案,DNS名称未解析,它将在浏览器中返回空响应。这样做有什么权利呢?例:func GetStatus(w http.ResponseWriter, r *http.Request){resp,err := http.Get("https://goodsfdsfgle.com")    if err != nil {          fmt.Fprint(w,"Remote server ok !")                 } else {                            fmt.Fprint(w,"Remote server error")                         }}func handleRequests() {        http.HandleFunc("/status", GetStatus)        log.Fatal(http.ListenAndServe(":10000",nil))}func main() {    handleRequests()}当打开浏览器 localhost:10000/status get : localhost 没有发送任何数据。ERR_EMPTY_RESPONSE但是如果网址还行,一切都还行,尝试使用延期,很少有类型的捕获错误。不工作。给出空响应请帮忙
查看完整描述

2 回答

?
绝地无双

TA贡献1946条经验 获得超4个赞

函数中的错误检查不正确,并且您引入了未使用的局部变量。请按如下方式修复代码:GetStatus


func GetStatus(w http.ResponseWriter, r *http.Request) {

    _, err := http.Get("https://goodsfdsfgle.com")

    if err != nil {

        fmt.Fprint(w, "Remote server error")

    } else {

        fmt.Fprint(w, "Remote server ok !")

    }

}

尝试使用 本地访问服务。您应该会收到其中一条消息。curl localhost:10000/statusRemote server...


您需要进行更多调整才能创建有效的HTTP服务,但请尝试上面的代码,以使事情在开始时正常工作。


查看完整回答
反对 回复 2022-09-05
?
慕码人2483693

TA贡献1860条经验 获得超9个赞

package main


import (

"fmt"

"log"

"net/http"

)


func GetStatus(w http.ResponseWriter, r *http.Request){


_,err := http.Get("https://goodsfdsfgle.com")

if err != nil {

fmt.Fprint(w,"Remote server error")

} else {

fmt.Fprint(w,"Remote server ok!")

}

}


func handleRequests() {

http.HandleFunc("/status", GetStatus)

log.Fatal(http.ListenAndServe(":10000",nil))

}



func main() {


handleRequests()

}


查看完整回答
反对 回复 2022-09-05
  • 2 回答
  • 0 关注
  • 92 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号