gpt4 book ai didi

google-app-engine - Permission Denied error 从 appengine go 调用外部服务

转载 作者:IT王子 更新时间:2023-10-29 02:06:27 25 4
gpt4 key购买 nike

当我从我的 go 代码中调用另一个网络服务时,我收到了权限被拒绝的错误。

我的服务器端 go 程序的部分处理程序代码:

client := http.Client{}
if resp, err := client.Get("http://api.wipmania.com/" + r.RemoteAddr); err != nil {
c.Errorf("Error getting location from ip: %s", err.Error())
}

来自日志:

Error getting location from ip: Get http://api.wipmania.com/30.30.30.30: permission denied

我看到一个类似的qn here .还是想不通。您能否告诉我执行此操作的正确方法是什么以及是否必须在 Appengine 控制台上设置任何权限?

最佳答案

App Engine 应用程序可以与其他应用程序通信,并可以通过获取 URL 访问网络上的其他资源。应用程序可以使用 URL Fetch service发出 HTTP 和 HTTPS 请求并接收响应。

尝试:

import (
"fmt"
"net/http"

"appengine"
"appengine/urlfetch"
)

func handler(w http.ResponseWriter, r *http.Request) {
c := appengine.NewContext(r)
client := urlfetch.Client(c)
if resp, err := client.Get("http://api.wipmania.com/" + r.RemoteAddr); err != nil {
c.Errorf("Error getting location from ip: %s", err.Error())
}
// ...
}

关于google-app-engine - Permission Denied error 从 appengine go 调用外部服务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11934094/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com