首页 > 解决方案 > 如何遍历烧瓶请求的参数(名称和值)

问题描述

这是我的代码:

#http://silvo/ESPresso.dll/UpdateDevice?DeviceName=BlueForceTag&DeviceMac=&DeviceSerial=ABBF0002&TxCount=4&Lat=-33.751320&Long=18.533993&BattLevel=4.05&RSSI=-94&hdop=1.20&sats=9&interval=600000

from flask import Flask, request

app = Flask(__name__)

@app.route('/ESPresso.dll/UpdateDevice', methods=['GET'])

def index():
    page_response=""
    for arg in request.args:
        page_response+=str(arg)
    return page_response

app.run()

我想替换 index() 中的代码以返回路径中传递的所有参数的文本列表,格式为 name = value。例如,来自顶部的示例 URL:

DeviceName=BlueForceTag
DeviceMac=
DeviceSerial=ABBF0002

等等

目前我的代码返回

DeviceNameDeviceMacDeviceSerialTxCountLatLongBattLevelRSSIhdopsatsinterval

而且我无法掌握 arg 对象的各个“名称”/“值”属性。

我显然缺少一些基本的东西(可能与 Python 相关)。任何帮助表示赞赏。

标签: pythonflask

解决方案


flask.request.args() 方法返回一个类似对象的字典。请参考文档

为了与此信息保持一致,您的 for 循环需要进行如下修改:

page_response = ''
for key, value in request.args.items():
    page_response += '{0}={1}<br/>'.format(key, value)
return page_response

或者简单地说:

return "<br/>".join(["{}={}".format(*a) for a in request.args.items()])

推荐阅读