如何在Python中从GET请求中获取参数

时间:2018-12-18 05:46:55

标签: python python-requests chatbot rasa-core

所以我一直在构建一个由RASA堆栈(开源)驱动的聊天机器人。 创建机器人之后,我想将其与我们的Web应用程序集成。现在我可以从我的RASA核心获得响应,但是我遇到了问题。我在GET请求中传递了唯一的user_id,我需要在python函数内部获取该ID并向我的数据库调用外部API。但是我不知道如何从GET请求中获取该参数。这是一些细节。

我的GET请求:(我的机器人已上传到AWS服务器上) http://my_ip_.amazonaws.com:5005/conversations/27/respond?q=%27Hi

所以我的唯一ID是27,我想在python函数中获取它。

以及我通过此请求得到的响应:

[{“recipient_id”:“27”,“text”:“Hey! What can I do for you?”}]

如您所见,我在邮递员中传递了GET请求,并从我的RASA CHATBOT获得了此响应,但我想跟踪该用户ID27。

所以我的问题是如何跟踪此ID?也许你们可以建议我另一种方法。

非常感谢您的帮助:)我的第一篇文章顺便说一句:)

[如果您觉得这个问题缺少什么,请问我什么]

2 个答案:

答案 0 :(得分:0)

因此您正在从请求中接收以下数据:
[{“recipient_id”:“27”,“text”:“Hey! What can I do for you?”}]
如果是清单:
只需使用:
response = [{“recipient_id”:“27”,“text”:“Hey! What can I do for you?”}] recepient_id = response[0]['recipient_id'] 如果是字典:
response = {“recipient_id”:“27”,“text”:“Hey! What can I do for you?”} recepient_id = response['recipient_id']

答案 1 :(得分:0)

所以我通过使用跟踪器数据解决了这个问题。实际上,我必须将跟踪器字典链接到我的自定义操作文件,以便可以访问sender_id和其他插槽值。 我用过:

user_id = tracker.sender_id
parameters ={}
parameters = {"user_id": user_id}

然后按照我的发帖要求,它就可以了!谢谢