把基于 Requests 的 TwilioHttpClient 传给 Python REST 客户端,即可配置它的代理路由:

from twilio.http.http_client import TwilioHttpClient
from twilio.rest import Client

transport = TwilioHttpClient(
    timeout=30,
    proxy={
        'http': 'http://proxy.example:8080',
        'https': 'http://proxy.example:8080',
    },
)
client = Client(account_sid, auth_token, http_client=transport)

使用应用自己的 Twilio account_sid 和 auth_token,然后通过这个客户端实例发起资源调用。经由另一个默认客户端发起的调用会使用那个客户端的传输层。

Twilio 的 API 走 HTTPS,因此映射表里必须有 https 一项。该项的 HTTP URL 描述的是代理监听地址,API 连接本身仍是 HTTPS。从HTTP 代理列表里挑的端点放进这张映射表,而 API 操作的认证仍由 Twilio 账户完成。

TwilioHttpClient 在传输时还会合并适用的 Requests 环境设置。如果进程的实际路由与预期不同,先检查代理、绕过与信任设置。

需要认证的代理要用它自己的账号凭据,Twilio 令牌只负责 API 操作的认证。

相关文章