亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

gin-gonic 無法分配請求的地址

gin-gonic 無法分配請求的地址

Go
慕田峪7331174 2023-05-04 17:00:15
所以我目前正在使用 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 回答

?
GCT1015

TA貢獻1827條經驗 獲得超4個贊

你只能聽本地主機,然后通過你主機的 ip 訪問,比如35.237.89.107:8080.

使用

r.Run(":8080")

0.0.0.0沒有必要。


查看完整回答
反對 回復 2023-05-04
?
慕姐8265434

TA貢獻1813條經驗 獲得超2個贊

您需要使用0.0.0.0而不是您當前使用的 on.Run()語句。通過使用0.0.0.0,可以從可用的網絡接口訪問服務器。

r.Run("0.0.0.0:8080")

因此從外部 IP 訪問35.237.89.107:8080將指向您的應用程序。



查看完整回答
反對 回復 2023-05-04
  • 2 回答
  • 0 關注
  • 144 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號