区域 ID
REGION_ID
是 Google 根据您在创建应用时选择的区域分配的缩写代码。此代码不对应于国家/地区或省,尽管某些区域 ID 可能类似于常用国家/地区代码和省代码。对于 2020 年 2 月以后创建的应用,REGION_ID.r
包含在 App Engine 网址中。对于在此日期之前创建的现有应用,网址中的区域 ID 是可选的。
详细了解区域 ID。
本页介绍如何从 App Engine 应用发出 HTTP(S) 请求。
如需详细了解请求大小限制以及网址提取请求中发送的标头,请参阅出站请求。发出 HTTP 请求
如要发出出站 HTTP 请求,请照常使用 http
软件包,但应使用 urlfetch.Client
创建客户端。urlfetch.Client
返回一个使用 urlfetch.Transport
的 *http.Client
,这是 使用 URL Fetch API 发出请求的 http.RoundTripper 接口的实现。
以下代码段演示了如何执行基本 HTTP GET
请求:
停用重定向
如果您使用 URL Fetch,则默认情况下,URL Fetch 服务最多遵循五个重定向。这些重定向可能会将敏感信息(如授权标头)转发到重定向的目的地。如果应用不需要 HTTP 重定向,则建议您停用重定向。
如需指示 URL Fetch 服务不遵循重定向,请设置从 urlfetch
软件包返回的 http.Client
的 CheckRedirect
字段以返回 http.ErrUseLastResponse
。
这适用于 appengine/urlfetch
和 appengine/v2/urlfetch
。例如:
client := urlfetch.Client(ctx)
client.CheckRedirect = func(*http.Request, []*http.Request) error {
return http.ErrUseLastResponse
}
发出 HTTPS 请求
在 Go API 中,您无需明确保护请求。默认情况下,底层网址提取服务会验证它正在联系的主机的证书,如果证书不匹配,则会拒绝请求。
停用主机证书验证
如要停用自动主机证书验证,可以手动创建传输并将 AllowInvalidServerCertificate
设置为 true
。
向其他 App Engine 应用发出请求
向其他 App Engine 应用发出请求时,您的 App Engine 应用必须通过将标头 X-Appengine-Inbound-Appid
添加到请求中来声明其身份。如果您指示 URL Fetch 服务不遵循重定向,则 App Engine 会自动将此标头添加到请求中。
如需有关如何停用重定向的指导,请参阅停用重定向。
后续步骤
参阅出站请求了解 URL Fetch 服务,例如在 URL Fetch 请求中发送的标头。