Python flask服务器赢得';当从ifttt webhook调用时,无法接收任何内容

Python flask服务器赢得';当从ifttt webhook调用时,无法接收任何内容,python,flask,webhooks,ifttt,Python,Flask,Webhooks,Ifttt,所以我对pythonweb服务器很陌生,一直在关注这个问题 接收来自的webhook以控制我的电视和AC,但我的服务器不显示来自服务器的任何消息。我已经检查了我的服务器是否可以从互联网上看到,并且我可以使用代理触发它 Python代码: from flask import Flask import subprocess app = Flask(__name__) tv_Power = "irsend SEND_ONCE TV KEY_POWER" AC_On = "irsend SEND_

所以我对pythonweb服务器很陌生,一直在关注这个问题

接收来自的webhook以控制我的电视和AC,但我的服务器不显示来自服务器的任何消息。我已经检查了我的服务器是否可以从互联网上看到,并且我可以使用代理触发它

Python代码:

from flask import Flask
import subprocess

app = Flask(__name__)

tv_Power = "irsend SEND_ONCE TV KEY_POWER"
AC_On = "irsend SEND_ONCE AC on on on on on on"
AC_Off = "irsend SEND_ONCE AC off off off off off off off off off off off off off"

@app.route('/', methods = ['POST'])
def index():
    return 'Choose Option'

@app.route('/tv_Power',methods=['POST'])
def pow():
    process = subprocess.Popen(tv_Power.split(), stdout=subprocess.PIPE)
    output, error = process.communicate()
    return 'Changing TV State'

@app.route('/AC_On',methods=['POST'])
def acon():
    process = subprocess.Popen(AC_On.split(), stdout=subprocess.PIPE)
    output, error = process.communicate()
    return 'Turning AC On'

@app.route('/AC_Off',methods=['POST'])
def acoff():
    process = subprocess.Popen(AC_Off.split(), stdout=subprocess.PIPE)
    output, error = process.communicate()
    return 'Turning AC Off'

if __name__ == '__main__':
    app.run(debug=True, host='0.0.0.0')
设置:


您的所有路线都定义为POST路线。或许

methods=['POST','GET']

您的所有路线都定义为POST。或许

methods=['POST','GET']
以下是一些修复方法:

  • 代码中的所有路由都是POST端点,weather IFTTT webhook正在发布GET请求(在方法字段下可编辑)
  • 还要确保flask服务器运行的端口已打开,并且来自IFTTT的请求未被路由器阻止(如果您使用路由器) 查看我的文章:

    以下是一些修复程序:

  • 代码中的所有路由都是POST端点,weather IFTTT webhook正在发布GET请求(在方法字段下可编辑)
  • 还要确保flask服务器运行的端口已打开,并且来自IFTTT的请求未被路由器阻止(如果您使用路由器) 查看我的文章:

    或者您可以将webhooks方法更改为使用Post。您是否得到了404?如果TT只说小程序成功执行,但我的服务器没有显示任何通信迹象,没有错误,只是什么都没有,就好像从未联系过一样。很可能您的端口错误(ssh到raspbery pi,netstat-ltpn到verity)或者Ifttt正在使用一些HTTPS而不是HTTP。你可以发布你是如何“检查我的服务器在互联网上是否可见”的吗?我从这个网站发出了一个http请求,并使用代理访问了我的服务器,或者你可以将你的webhooks方法更改为使用post。你得到了一个404吗?如果TT只说小程序成功执行,但我的服务器没有显示任何通信迹象没有错误只是如果您的端口(ssh到raspbery pi,netstat-ltpn到verity)有误,或者Ifttt使用的是HTTPS而不是HTTP。你可以发布你是如何“检查我的服务器在internet上是否可见”的吗?我从这个网站发出http请求,并使用代理访问我的服务器欢迎使用StackOverflow!当链接到与你有关联的外部来源时(比如你链接的文章,你也写了这篇文章),披露这种关联是很重要的。否则,您的帖子可能会被标记为垃圾邮件。请将该披露添加到:;当你写的时候,把文章中的相关内容复制到你的答案上。StackOverflow的答案应该是相对独立的,如果网站宕机,包含文章内容将很有帮助。欢迎使用StackOverflow!当链接到与你有关联的外部来源时(比如你链接的文章,你也写了这篇文章),披露这种关联是很重要的。否则,您的帖子可能会被标记为垃圾邮件。请将该披露添加到:;当你写的时候,把文章中的相关内容复制到你的答案上。StackOverflow的答案应该是相对独立的,如果网站宕机的话,包含文章的内容会很有帮助。