gpt4 book ai didi

python - flask /夏娃 : Internal GET request with parameters

转载 作者:太空宇宙 更新时间:2023-11-03 17:09:32 25 4
gpt4 key购买 nike

我正在使用 flask Web 服务器(eve api 的一部分)并且需要执行内部 GET 请求。

对于外部请求,我使用以下代码:

url = 'http://127.0.0.1:5000/simulations'
r = requests.get(url,
headers={'Content-Type': 'application/json', 'Accept': 'application/json'},
params={'hateoas': False}
)

但是,当尝试使用requests执行请求时,这不起作用。来自 Flask 应用程序内函数的模块并引发 ConnectionRefusedError:

requests.exceptions.ConnectionError: ('Connection aborted.', ConnectionRefusedError(61, 'Connection refused'))

为了做到这一点request available internally ,我考虑使用test_client()我的 flask 应用程序如下:

r = app.test_client().get(url,
headers={'Content-Type': 'application/json', 'Accept': 'application/json'}
)

这工作得很好,但我需要传递额外的参数,正如您在使用 requests 模块的第一个示例代码片段中看到的那样。所以我将上面的代码扩展为:

r = app.test_client().get(url,
headers={'Content-Type': 'application/json', 'Accept': 'application/json'},
params={'hateoas': False}
)

不幸的是,这会引发TypeError:

TypeError: init() got an unexpected keyword argument 'params'

那么有没有办法在内部使用flask或eve来处理GET请求?

我知道有一个get_internal repo branch对于前夕交付的 get_internal() 开发实现,与其他请求类型(如 post_internal())相当。但我不喜欢使用这个开发分支,因为不确定这个功能是否会在下一个稳定版本中实现。

最佳答案

您传递查询字符串的方式不正确,您应该:

r = app.test_client().get(url,
headers={'Content-Type': 'application/json', 'Accept': 'application/json'},
query_string={'hateoas': False})

使用query_string关键字。

顺便说一句,如果您要发帖,请使用 data 关键字。

关于python - flask /夏娃 : Internal GET request with parameters,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34240545/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com