问题描述
我正在尝试使用Kivy UrlRequest发出API请求,因为Python中的“正常”请求模块会导致应用程序冻结执行请求的时间。使用“普通”请求模块,我可以在请求中包括参数'filter': '6'
和'field': 'ID'
,以对字段“ ID”上的用户“ 6”进行过滤。除冻结的部分外,此方法效果很好。
使用来自Kivy的UrlRequest时,我只能包含req_headers
(API键+令牌)和req_body
(用于发布请求)。我无法弄清楚如何包含用于过滤数据的参数。
下面要说明的示例代码。出于安全原因,我删除了api密钥和令牌。
尝试过的事情
- 将参数
'filter': '6'
和'field': 'ID'
添加到req_headers
。结果:没有进行任何过滤,所有用户都已被获取。 - 在
'filter': '6'
中添加参数'field': 'ID'
和req_body
。结果:{'status': False,'message': 'Unknown method'}
。
正常工作要求(导致冻结):params = {'filter': '6','field': 'ID'}
key = 'xxx'
header = {'X-Api-Key': xxx,'X-Token': 'xxx'}
response = requests.get("http://www.niek-meijer.nl:80/kantineapp/api/user_kantineapp/all",headers=header,params=params)
print(response.json()
UrlRequest,它不能正常工作:params = {'filter': '6','X-Token': 'xxx'}
response1 = UrlRequest("http://www.niek-meijer.nl:80/kantineapp/api/user_kantineapp/all",req_headers=header,on_success=result,on_failure=failure,on_error=error)
on_succes
,on_failure
和on_error
函数用于显示结果/错误/故障。
如何在UrlRequest方法中包含参数以过滤数据?
谢谢!
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)