为了账号安全,请及时绑定邮箱和手机立即绑定

Golang:AppEngine 在 Get 调用时抛出操作不允许错误

Golang:AppEngine 在 Get 调用时抛出操作不允许错误

Go
繁星coding 2021-09-27 17:28:42
我编写了一个简单的 GAE 应用程序,它对外部 API 进行 Get 调用,但出现了一个非常奇怪的错误:获取http://kenyan-politicians.popit.mysociety.org/api/v0.1/persons/core_person:1290 : dial tcp: stat /etc/resolv.conf: operation not allowed在我的 dev_appserver 上,它可以正常工作。所以我想知道可能是什么问题。我没有使用 UrlFetch 而是我自己的包http://godoc.org/github.com/johnwesonga/go-mzalendo/mzalendo使用 http.NewRequest 和 http.DefaultClient.Do由于 AppEngine 限制,我将自己的客户端传递给 NewClient 调用:func createHttpClient() *http.Client {    transport := http.Transport{}    client := &http.Client{        Transport: &transport,    }    return client}client := createHttpClient()c := mzalendo.NewClient(client)
查看完整描述

1 回答

?
慕尼黑的夜晚无繁华

TA贡献1864条经验 获得超6个赞

在 App Engine 上,您必须使用由 urlfetch 包创建的传输。该网址抓取客户端函数创建一个合适的传输客户端:


func createHttpClient(r *http.Request) *http.Client {

    return urlfetch.Client(appengine.NewContext(r))

}


查看完整回答
反对 回复 2021-09-27
  • 1 回答
  • 0 关注
  • 169 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信