python - python twilio flask:索引超出范围
问题描述
我正在设置一个 twillo SMS 机器人,并希望将烧瓶的传入响应拆分到一个列表中并检查并检查响应是否具有add
, list
,remove
from flask import Flask, request
from twilio.twiml.messaging_response import MessagingResponse
app = Flask(__name__)
@app.route("/sms", methods=['GET', 'POST'])
#define method to split the input
def sms_ahoy_reply():
"""Respond to incoming messages with a friendly SMS."""
# Start our response
resp = MessagingResponse()
country = request.values.get('FromCountry')
toDoList = []
splitext = request.args.get('body','').split()
msgSplit = list(splitext)
if msgSplit[0] == 'add':
toDoList.append(msgSplit[1:])
elif msgSplit[0] == 'list':
resp.message(msgSplit[1:])
elif msgSplit[0] == 'remove':
deL = msgSplit[1]
if deL!=0:
del msgSplit[deL-1]
else:
del msgSplit[deL]
# Add a message
resp.message("Hi! It looks like your phone number was born in %s" %country)
return str(resp)
if __name__ == "__main__":
app.run(debug=True)
解决方案
Twilio 开发人员布道者在这里。
您应该更改splitext = request.args.get('body','').split()
为splitext = request.values.get('body','').split()
.
request.args
是 URL 查询字符串中的键/值对(即http://website.com/index?arg1=hello&arg2=world)。用于 URL Query 参数,通过 GET 请求从 URL 中获取参数
request.values
是 和 的args
组合form
。更多信息在 Flask 文档中。
推荐阅读
- python - IndexError:游戏中的列表索引超出范围
- plots.jl - 如何控制 Plots.jl 中的轴限制,以使轴以刻度开始和结束?
- android - Android TableLayout:拉伸一列并有两个等宽
- python - TypeError: "delimiter" 必须是 1 个字符的字符串
- mysql - 注册新帐户 MySql
- r - Using apply function to do claculation in data.frame without change the format of my date column
- apache-spark - object has no attribute 'map' error in pyspark 2.4.4
- java - How to Delete files from the directory by specifying it in the output application
- python-3.x - sys.path 中的 /usr/lib/python37.zip
- c++ - 最大子数组和和那些索引-分而治之