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

我编写了一个简单的 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)


繁星coding
浏览 170回答 1
1回答

慕尼黑的夜晚无繁华

在 App Engine 上,您必须使用由 urlfetch 包创建的传输。该网址抓取客户端函数创建一个合适的传输客户端:func createHttpClient(r *http.Request) *http.Client {    return urlfetch.Client(appengine.NewContext(r))}
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go