我正在尝试使用Flask和requests构建一个简单的代理。代码如下:
@app.route('/es/<string:index>/<string:type>/<string:id>',
methods=['GET', 'POST', 'PUT']):
def es(index, type, id):
elasticsearch = find_out_where_elasticsearch_lives()
# also handle some authentication
url = '%s%s%s%s' % (elasticsearch, index, type, id)
esreq = requests.Request(method=request.method, url=url,
headers=request.headers, data=request.data)
resp = requests.Session().send(esreq.prepare())
return resp.text
这可以工作,只是它会丢失ElasticSearch的状态代码。我尝试直接返回resp
(requests.models.response
),但失败了
TypeError: 'Response' object is not callable
还有其他简单的方法从flask返回requests.models.response
吗?
好的,找到了:
如果返回一个元组,则该元组中的项可以提供额外的信息。这样的元组必须是形式(响应、状态、头)。状态值将覆盖状态代码,头可以是附加头值的列表或字典。
(烧瓶文件)
所以
return (resp.text, resp.status_code, resp.headers.items())
似乎能奏效。
问题内容: 例如,此URL: 应该返回一个MIME类型的响应。我有两个静态图像, 如果type为1,则应返回,否则返回。在烧瓶中怎么做? 问题答案: 您使用类似 发送回或,具体取决于类型查询参数。有关更多信息,请参见函数和对象的文档。
问题内容: 我们正在使用Flask作为我们的API之一,我只是想知道是否有人知道如何返回HTTP响应201? 对于诸如404之类的错误,我们可以致电: 但是对于201我得到 LookupError:201也不例外 我是否需要创建自己的例外,像这样的文档? 问题答案: 您可以在这里阅读。
我发现很难找到有关这方面的资料。会是什么?我如何解决这个问题?有哪些可能的修复方法? UWSGI日志文件 时钟来源:unix检测到CPU核数:4当前工作目录:/home/pi检测到二进制路径:/usr/local/bin/uwsgi!!!没有内部路由支持,重建与pcre支持!!!*警告:您在没有主进程管理器的情况下运行uWSGI进程数限制为7336内存页大小为4096字节检测到最大文件描述符号:6
我在嘲笑一个Post api(用C#编写),它在调用时返回一个布尔值true或false。请求的内容类型是application/json 我现在正试图使用Flask在Python中模拟那个endpoint,但我很难让它传递一个布尔值。
我正试图将数据放入flask中的表中,但由于某种原因,它为每个字符创建了一个新行,而不是仅仅将完整的字符串放入行中。 代码: 表代码:
问题内容: 我想控制上传图片的大小,如果它大于最大文件上传限制。我尝试了这个: 它印了。我究竟做错了什么?我应该从它的临时路径中找到该图像的大小吗?有没有类似PHP的Python? 问题答案: 这里需要注意几件事- content_length属性将是浏览器报告的文件上载的内容长度,但是不幸的是,正如docs和source中指出的那样,许多浏览器没有发送此长度。 至于您的TypeError,接下来