我今天开始使用Twilio for Python3,我发现甚至很难让第一个基本脚本工作。
send_sms.py
from twilio.rest import Client
# Your Account SID from twilio.com/console
account_sid = "your_account_sid"
# Your Auth Token from twilio.com/console
auth_token = "your_auth_token"
client = Client(account_sid, auth_token)
message = client.messages.create(
to="+15558675309",
from_="+15017250604",
body="Hello from Python!")
print(message.sid)
send_sms.py是Twilio"入门"小组要求我测试的第一个程序。问题是我有一个带有用户名、密码和代理站点的代理网络。如果没有此连接,我会收到ConnectionRefusedError。经过几次测试后,我意识到无法连接到代理网络意味着程序失败。我知道使用ProxiedTwilioHttpClient((作为可能的解决方案,但完全不知道如何实现它。
我要求的是如何将代理网络身份验证添加到上面的代码示例中。我可以将该示例用于其他特定程序的将来参考。如果您有任何疑问,请随时在下面添加评论。
谢谢。
诀窍是传入一个自定义的 HttpClient,如下所示:
import os
from requests import Session
from twilio.rest import Client
from twilio.http.http_client import HttpClient
proxy_server = 'http://user:pass@proxy.example.com:80'
ProxySession = Session()
ProxySession.proxies.update({'http': os.environ.get('http_proxy', proxy_server)})
ProxyClient = HttpClient()
ProxyClient.session = ProxySession
account_sid = 'xxx'
account_token = 'xxx'
client = Client(account_sid, account_token, http_client=ProxyClient)