所以我目前正在使用 gin-gonic 包在 go 中构建一个 restful api。我希望将代码部署到谷歌云平台计算引擎 VM。当我在我的本地机器上运行代码时,它使用本地主机工作,但是当在指定外部 IP 的实际 VM 实例上运行它时,我收到 TCP 连接的绑定错误。任何帮助表示赞赏。服务器.gopackage mainimport ( "encoding/json" "io/ioutil" "net/http" "os" "github.com/gin-gonic/gin")type headlines struct { Author string Title string Description string Url string UrlToImage string PublishedAt string Content string}type NewsResponse struct { Status string TotalResults int Articles []headlines}func GetSourceHeadlines(source string) NewsResponse { newsAPIKey := os.Getenv("NEWS_API_KEY") var newsResponse NewsResponse resp, err := http.Get("https://newsapi.org/v2/top-headlines?sources=" + source + "&apiKey=" + newsAPIKey) if err != nil { panic(err) } defer resp.Body.Close() if resp.StatusCode == http.StatusOK { bodyBytes, _ := ioutil.ReadAll(resp.Body) err := json.Unmarshal(bodyBytes, &newsResponse) if err == nil { return newsResponse } } return newsResponse}func main() { r := gin.Default() r.GET("/headlines/ign", func(c *gin.Context) { c.JSON(http.StatusOK, GetSourceHeadlines("ign")) }) r.GET("/headlines/polygon", func(c *gin.Context) { c.JSON(http.StatusOK, GetSourceHeadlines("polygon")) }) r.GET("/headlines/techcrunch", func(c *gin.Context) { c.JSON(http.StatusOK, GetSourceHeadlines("techcrunch")) }) r.GET("/headlines/hacker-news", func(c *gin.Context) { c.JSON(http.StatusOK, GetSourceHeadlines("hacker-news")) }) r.Run("35.237.89.107:8080")}
- 2 回答
- 0 关注
- 101 浏览
添加回答
举报
0/150
提交
取消