2017-06-29 41 views
1

我今天開始使用Twilio for Python3,並且發現甚至難以獲得第一個基本腳本。Python短信Twilio腳本必須經過代理牆

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()作爲可能的解決方案,但絕對不知道如何實現它。

我要求的是如何將代理網絡身份驗證添加到上述代碼示例。我可以將該樣本用於其他特定程序的未來參考。如果您有任何問題,請隨時在下面添加評論。

謝謝。

回答

-1

的竅門是在自定義HttpClient的傳遞,就像這樣:

import os 

from requests import Session 

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

proxy_server = 'http://user:[email protected]: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) 
+0

好和客戶端後,我可以寫代碼的其餘部分在我的問題? –

+0

是的,試試吧。 –

+0

我今晚不能睡覺,因爲我實際上即將睡覺,但如果遇到問題,我可以與您聯繫嗎?如果沒有問題發生,我只需點擊複選標記。 –