亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

將 Flask、Twilio API 與 PythonAnywhere 結合使用時出現錯誤

將 Flask、Twilio API 與 PythonAnywhere 結合使用時出現錯誤

慕標5832272 2023-03-16 09:48:14
我制作了一個燒瓶應用程序,它使用 Twilio Webhooks 檢測在 whatsapp 上收到的消息。收到消息后,應用程序會向同一電話號碼發回一條消息。這可以完美地使用 Flask 和 Ngrok 來部署服務器并公開它。但是,一旦我將它部署到 PythonAnywhere,我就會在 Twilio 控制臺中收到 11200 錯誤。這是代碼。from flask import Flask, requestimport requestsfrom twilio.rest import Clientaccount_sid = 'xxxxx'auth_token = 'xxxxx'client = Client(account_sid, auth_token)def mmsg(phono, body):    message = client.messages.create(        from_='whatsapp:+14155238886',        body=body,        to=phono,    )app = Flask(__name__)@app.route('/post', methods=['POST'])def bot():        incoming_msg = request.values.get('Body', '').lower()        phono = request.values.get('From', "")        if incoming_msg == 'hi':            mmsg(phono, 'hello!')if __name__ == '__main__':    app.run()當我檢查 PythonAnywhere 錯誤日志時,我得到了這個2020-07-19 13:50:46,569: POST Request: https://api.twilio.com/2010-04-01/Accounts/AC84a8b5837227246efc0c6f9440b6e12c/Messages.json2020-07-19 13:50:46,570: PAYLOAD: {'To': 'whatsapp:{myphonenumber}', 'From': 'whatsapp:+14155238886', 'Body': 'hello!'}2020-07-19 13:50:49,576: Exception on /post [POST]Traceback (most recent call last):requests.exceptions.ConnectionError: HTTPSConnectionPool(host='api.twilio.com', port=443): Max retries exceeded with url: /2010-04-01/Accounts/AC84a8b5837227246efc0c6f9440b6e12c/Messages.json (Caused by NewConnectionError('<urllib3.connection.HTTPSConnection object at 0x7fc0504362e8>: Failed to establish a new connection: [Errno 111] Connection refused',))我試過像message = client.messages.create這樣添加另一個鍵和值。message = client.messages.create(            from_='whatsapp:+14155238886',            body=item,            to=phono,            AC84a8b5837227246efc0c6f9440b6e12c='83ce0b901ff353f9b9a77222e001d71d'        )當我嘗試這樣做時,我在 PythonAnywhere 上遇到了這個錯誤。
查看完整描述

1 回答

?
墨色風雨

TA貢獻1853條經驗 獲得超6個贊

PythonAnywhere 上的免費帳戶限制了 Internet 訪問;您只能訪問一組特定的站點(在此處列出,但這是您可以訪問的站點列表,而不是您無法訪問的站點列表),并且您必須使用代理服務器才能訪問它們。


對于大多數完全透明的庫——它們從系統環境中獲取代理設置并使用它,而無需您做任何額外的事情。但是 Twilio 庫需要一些額外的配置。有一個幫助頁面解釋這是什么,但對您的代碼的具體更改是替換它:


client = Client(account_sid, auth_token)

...有了這個:


import os

from twilio.http.http_client import TwilioHttpClient


proxy_client = TwilioHttpClient(proxy={'http': os.environ['http_proxy'], 'https': os.environ['https_proxy']})

client = Client(account_sid, auth_token, http_client=proxy_client)


查看完整回答
反對 回復 2023-03-16
  • 1 回答
  • 0 關注
  • 132 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號