您如何执行从 App Engine 到内部服务的 HTTP 请求?

How do you perform HTTP requests from App Engine to internal services?

我有一个 App Engine 标准(第一代)Python 应用程序,设置了无服务器 VPC 访问。我使用请求 2.3(我在 GAE 上的更高版本有问题)来执行 HTTP 请求。

当我尝试向内部 IP 地址 (10.x) 发出 HTTP 请求时,它拒绝连接。但是,无服务器 VPC 访问工作正常:我测试了使用来自 App Engine 的非 HTTP 客户端库(例如 redis)连接到同一端口上的同一 IP 地址,这工作正常。只是失败的 HTTP 请求。

我怀疑 URL Fetch 服务正在尝试执行 HTTP 请求,但在内部地址上失败了。如果是这样,有没有办法在不触发 URL Fetch 服务的情况下使用请求?或者您有任何其他线索可能出了什么问题吗?

我想我通过查看SDK源代码找到了答案:

from python_std_lib import httplib

为您提供一个使用套接字的 HTTPLib,而不必覆盖全局 httplib(导致在任何地方都使用套接字)。