Kivy UrlReques公司

2024-04-25 13:13:10 发布

您现在位置:Python中文网/ 问答频道 /正文

我的API工作正常,当我使用Postman测试它时,我看到一个200状态。不过,我尝试使用Kivy应用程序访问它,但是在等待或退出应用程序之后,我看到服务器发出400响应。顺便说一下,在使用Postman进行测试时,我将header指定为Content-Type: application/json,在body中我看到了我的参数

{
    "search_text": "Hello",
    "num_results": 1
}

正在作为raw数据发送。

^{pr2}$

Kivy文档说您不必指定一个方法,因为这会发送一个POST请求,所以我在这里没有指定

编辑:服务器的代码与我这里的问题不相关,所以我删除了它


Tags: text服务器apijson应用程序search参数application
2条回答

req_body是一个字符串参数,可能有点混乱,因为req_headers是dict。您可以使用:

req_body=json.dumps({"search_text": search_text,"num_results": 1})

应将UrlRequest作为请求正文传递给str对象。可以通过转储请求字典将其序列化为字符串对象。将此转储字典作为请求主体传递给UrlRequest。在

import json

req_body=json.dumps({'search_text': search_text, 'num_results': 1})
req = UrlRequest(
        'http://127.0.0.1:5000/search',
         req_body=req_body,
         on_success=Test.got_json,
         req_headers=header)

相关问题 更多 >