发出http请求谷歌应用引擎

时间:2016-08-18 08:08:40

标签: google-app-engine go

我在我的应用程序中编写代码,给出了一个URL,我希望GAE将我的响应主体返回给GET请求,我似乎无法找到一种简单的方法来执行此操作。我已经阅读了他们的文档here,这是我目前的代码

func Extract(url string) ([]string, error) {
    r, _ := http.NewRequest("", url, nil)
    ctx := appengine.NewContext(r)
    client := urlfetch.Client(ctx)
    resp, err := client.Do(r)
...
}

但每次我运行此代码时都会收到以下错误

NewContext passed an unknown http.Request

我想如何让http.Request知道?

1 个答案:

答案 0 :(得分:0)

需要Context的AppEngine服务只能在处理程序中使用,因为创建app:flexDirection="row_reverse" 需要*http.Request值。但是此Context必须是传入请求(到您的应用),而不是您想要的传出请求。

因此,您需要一个具有Request参数的处理程序,您必须将 传递给上下文创建:

http.Request

请参阅相关问题:Fetching a URL From the init() func in Go on AppEngine