我正在尝试从电子邮件测试工具 mailhog 中提取有关进入 API 的邮件数据。如果我使用调用来获取电子邮件列表,例如 GET /api/v1/messages,我可以毫无问题地将这些数据加载到一个结构中,并打印出我需要的值。
但是,如果我使用一个不同的端点,它本质上是一个新的电子邮件流,我会有不同的行为。当我运行我的 go 应用程序时,我没有得到任何输出。
我是否需要像 while 循环一样不断地监听端点以获取输出?我的最终目标是在电子邮件进入时从中提取一些信息,然后将它们传递给不同的功能。
这是我尝试访问流式传输端点 https://github.com/mailhog/MailHog/blob/master/docs/APIv1.md
res, err := http.Get("http://localhost:8084/api/v1/events")
if err != nil {
panic(err.Error())
}
body, err := ioutil.ReadAll(res.Body)
if err != nil {
panic(err.Error())
}
var data Email
json.Unmarshal(body, &data)
fmt.Printf("Email: %v\n", data)
如果我在具有相同端点的 mailhog 服务上执行 curl 请求,我会在收到邮件时得到输出。但是我似乎无法弄清楚为什么我的 go 应用程序没有得到任何输出。该应用程序确实保持运行,只是我没有得到任何输出。
如果这是一个非常简单的问题,我是 Go 的新手,所以很抱歉
缥缈止盈
相关分类