【问题标题】:Getting 502 Bad Gateway Error on POST via ngrok通过 ngrok 在 POST 上获取 502 Bad Gateway 错误
【发布时间】:2021-03-17 00:08:09
【问题描述】:

我正在使用 pythonanywhere 通过 Twilio 接收文本,每次我发回文本(POST 请求)时都会收到 502 Bad Gateway Error。请参阅下面的代码。

import requests
import time
import json
from datetime import datetime
from datetime import datetime
import pytz
from pytz import timezone
from twilio.rest import Client
from twilio.http.http_client import TwilioHttpClient
import os
from flask import Flask, request
from twilio import twiml


app = Flask(__name__)


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

@app.route('/sms', methods=['POST'])
def sms():
    print('test')
    number = request.form['From']
    message_body = request.form['Body']
    resp = twiml.Response()
    resp.message("hi")
    return str(resp)

if __name__ == '__main__':
    app.run()

这是我得到的错误enter image description here

【问题讨论】:

  • 有很多事情会导致 502。 PythonAnywhere 帮助页面中有一个帮助页面,其中介绍了如何开始诊断问题。

标签: flask ngrok


【解决方案1】:

问题可能是您要求 Flask 从正文中检索可能不存在的 multipart/form-data 内容。

尝试将request.form['From'] 更改为request.form.get('From'),如果缺少密钥,则不会引发KeyError

另一种选择是将您的函数(临时)包装到 try/except 块中并打印出回溯,以便您至少可以从 stdout 找出服务器上发生的情况并以这种方式调试问题。

【讨论】:

    猜你喜欢
    • 2022-07-21
    • 2019-07-27
    • 2014-03-26
    • 2017-09-01
    • 2018-04-23
    • 2019-08-07
    • 2020-09-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多