我如何用烧瓶扭曲运行? - python

我希望能够在多个不同的目录(例如:/example1/example2 ...等)上运行扭曲服务器,所以我想我会使用flask。这是我到目前为止的内容:

from flask import Flask
from twisted.web.server import Site
from twisted.web.wsgi import WSGIResource
from twisted.internet import reactor
from twisted.web.proxy import ReverseProxyResource
from twisted.web.resource import Resource

app = Flask(__name__)
@app.route('/example1')
def index():
    return 'My Twisted Flask'

flask_site = WSGIResource(reactor, reactor.getThreadPool(), app)

root = Resource()
root.putChild('my_flask', flask_site)

site_example = ReverseProxyResource('www.example.com', 80, ''.encode('utf-8'))
root.putChild('example1', site_example)

reactor.listenTCP(80, Site(root))
reactor.run()

唯一的问题是它不起作用,我不确定自己在做什么错。感谢您的帮助,谢谢!

参考方案

我个人的看法:在Twisted的反应堆中运行Flask并不是一个好主意,因为当Flask处理请求时,Twisted的reactor被阻止。

我认为您可能对Klein感兴趣,Klein提供了类似于Flask的API,但是可以在Twisted上使用:http://klein.readthedocs.io/en/latest/

另一个选择:我将Nginx作为Flask应用程序的反向代理而不是Twisted。 nginx在单独的进程中运行,并且在Flask处理请求时不会被阻止。
https://www.nginx.com/resources/admin-guide/reverse-proxy/

Flask Cors无法运作 - python

我正在尝试在Flask应用程序中启用CORS,但无论我把来源如何,似乎总是可以从浏览器访问URL。我不知道我做错了什么。这是我的代码from flask import Flask, jsonify from flask_cors import CORS app = Flask(__name__) CORS(app, resources={r'/*&…

flask:异常后停止服务器 - python

我想在发生未处理的异常时立即停止我的Flask服务器。这是一个例子:from flask import Flask app = Flask(__name__) @app.route('/') def hello_world(): 1/0 # argh, exception return 'Hello World!' i…

在返回'Response'(Python)中传递多个参数 - python

我在Angular工作,正在使用Http请求和响应。是否可以在“响应”中发送多个参数。角度文件:this.http.get("api/agent/applicationaware").subscribe((data:any)... python文件:def get(request): ... return Response(seriali…

python flask如何从URL获取路由ID - python

我正在用烧瓶。我有一个网址,例如:http://example.com/page/page_id我想知道如何从路线中的网址获取page_id部分。我希望我可以设计出一些方法,例如:@route('/page/page_id') def page(page_id): pageid = page_id 参考方案 这非常简单-在尖括号之间传递p…

Python exchangelib在子文件夹中读取邮件 - python

我想从Outlook邮箱的子文件夹中读取邮件。Inbox ├──myfolder 我可以使用account.inbox.all()阅读收件箱,但我想阅读myfolder中的邮件我尝试了此页面folder部分中的内容,但无法正确完成https://pypi.python.org/pypi/exchangelib/ 参考方案 您需要首先掌握Folder的myfo…