在 Python 中使用支持代理的 Twilio 客户端
把配置好的、基于 Requests 的 TwilioHttpClient 传给 Python REST 客户端,而不是去修改它底层 HTTP 接口。
把基于 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 操作的认证。