Python 的 googlemaps 客户端通过 Requests 发送其 Web 服务请求。通过客户端的 requests_kwargs 字典提供 Requests 选项:

import googlemaps

gmaps = googlemaps.Client(
    key=maps_api_key,
    connect_timeout=5,
    read_timeout=30,
    requests_kwargs={
        'proxies': {
            'http': 'http://proxy.example:8080',
            'https': 'http://proxy.example:8080',
        },
    },
)

maps_api_key 是应用现有的 API 密钥。对预期的调用使用这个 gmaps 实例。当所选会话没有代理凭据时,来自 HTTP 代理列表的 HTTP 候选可以为获准的公共 Maps API 请求提供路由。

proxies 的值是从目标 scheme 到代理 URL 的映射。它不是 host/port 元组,也不是单个无结构的代理字符串。HTTPS 目标可以使用此处显示的 HTTP 代理端点。

客户端会将这些选项合并进它发起的 Requests 调用。应用中其他位置单独的 requests.get 不会配置此客户端,另一个未带这些选项构造的 googlemaps.Client 有它自己的设置。

对于已经拥有 Requests 会话的长期集成,该库还接受 requests_session。共享它时,要有意保持会话的策略和所有权。API 密钥仍然为 Maps 请求提供身份验证;如果需要代理凭据,应属于中介方支持的身份验证安排。

相关文章