**已关闭。**此问题为not reproducible or was caused by typos。目前不接受答案。
这个问题是由一个打字错误或一个无法再重现的问题引起的。虽然类似的问题在这里可能是on-topic,但这个问题的解决方式不太可能帮助未来的读者。
2天前关闭。
Improve this question
我写下面的代码是为了使用客户端查询心跳端点,以保持某个会话处于活动状态。但是,如果我执行此代码,下面的代码将返回错误Post "http://0.0.0.0:40043/heartbeat": EOF
。
// Run is the main function that is called.
func Run() {
for true {
SendHeartbeat()
time.Sleep(5 * time.Minute)
}
}
func SendHeartbeat() {
values := map[string]string{
"id": SELF_IDENTIFIER,
}
jsonBody, encodingErr := json.Marshal(values)
if encodingErr != nil {
logger.CustomInfo("PayloadService", "Failed to generate JSON Request body.")
}
response, error := http.Post(fmt.Sprintf("%s/heartbeat", CONNECTION_URI), "application/json", bytes.NewBuffer(jsonBody))
if error != nil || response.StatusCode != 200 {
logger.CustomError("PayloadService", fmt.Sprintf("Failed to send heartbeat with error `%s`", error.Error()))
} else if response.StatusCode == 200 {
defer response.Body.Close()
logger.CustomInfo("PayloadService", "Checked in with server successfully.")
}
}
TLDR;我尝试使用响应正文发出HTTP Post请求,但由于某种原因返回EOF错误。
1条答案
按热度按时间ej83mcc01#
多亏了@mkopriva,我才能弄清楚代码到底出了什么问题。上次我用curl测试的时候,代码运行正常,但是这次看起来好像是vscode中的linter有问题,好像随机删除了一些代码。
现在功能完全符合预期。
编辑:在Go团队中创建了一个问题,这是由于gopls中的一个内部bug。