草庐IT

sockjs-tornado

全部标签

python - 如何在 Tornado 的其他类/文件中访问我的数据库级函数?

我是Tornado的新手,目前我正试图克服最近遇到的这个绊脚石。目前我定义了一些数据库变量,并且在初始化Application类时实例化了处理程序、设置和数据库连接信息。我还有一个基本处理程序类(名为BaseHandler),它为其他类提供了一个简单的数据库接口(interface)。我想将我的一些类拆分到其他文件中,并将我的大部分数据库逻辑放在其他类方法中,并为路由保留application.py,并在需要时实例化这些其他类,并将必要的数据传递给他们为数据库。我如何从这些其他文件/类中访问这个self.db函数?应用程序.py:importtornado.databaseimport

python - Tornado 安全 cookie 过期(又名安全 session cookie)

如何在Tornado中设置一个在浏览器关闭时过期的安全cookie?如果我使用set_cookie我可以在不传递额外参数的情况下执行此操作(我只是设置了cookie),但是如果我必须使用set_secure_cookie怎么办?我几乎尝试了一切:什么都不传递:过期设置为其默认值,即1个月传递一个整数值:该值被认为是天,即1表示1天传递一个浮点值:有效,例如设置0.1表示将近一个半小时 最佳答案 在我看来,您确实走在了正确的轨道上。您尝试越来越低的值,并且cookie的过期时间越来越短。传递expires_days=None使其成为s

python - Tornado POST 405 : Method Not Allowed

出于某种原因,我无法在tornado中使用POST方法。当我将GET更改为POST时,即使是hello_world示例也不起作用。importtornado.ioloopimporttornado.webclassMainHandler(tornado.web.RequestHandler):defpost(self):self.write("Hello,world")application=tornado.web.Application([(r"/",MainHandler),])if__name__=="__main__":application.listen(8888)torna

python - 在 Tornado 中创建处理队列

我正在使用Tornado网络服务器对需要在请求/响应周期之外处理的项目进行排队。在我下面的简化示例中,每次收到请求时,我都会将一个新字符串添加到名为queued_items的列表中。我想创建一些东西来监视该列表并处理其中显示的项目。(在我的真实代码中,项目是通过TCP套接字处理和发送的,当Web请求到达时,该套接字可能已连接,也可能未连接。我希望Web服务器继续排队,而不管套接字连接如何)我试图让这段代码保持简单,并且不使用外部队列/程序,如Redis或Beanstalk。它不会有很高的音量。使用Tornado习语观察client.queued_items列表中的新项目并在它们到达时处

python - 使用 Tornado 上传文件

当使用put请求时,如何在Tornado中访问上传的文件?@require_basic_authclassUploadFile(tornado.web.RequestHandler):defput(self,params):path=calculate_path(params)#TODO:createanemptybinaryfileatpathandthencopy#therequestinputstreamtoit. 最佳答案 self.request.files应该没问题。这是一个example.

python - Tornado - RequestHandler 的 get_argument()、get_query_argument() 和 get_body_argument() 之间有什么区别?

何时使用RequestHandler.get_argument(),RequestHandler.get_query_argument()和RequestHandler.get_body_argument()?它们各自的用例是什么?还有什么是request.body和request.argument在这些情况下做什么?哪些应用在哪些场景?还有,有没有request.query还是类似的东西? 最佳答案 大多数HTTP请求在以下两个位置之一存储额外参数(例如,表单值):URL(以?foo=bar&spam=eggsquerystrin

python - 支持二进制的 Tornado websockets 第 2 部分

我正在尝试通过websockets传递二进制数据,更具体地说,是通过websockets传递压缩字符串。在我当前的设置中,我使用tornado作为带有websocket的服务器。客户端传输二进制数据。二进制数据是通过zlib压缩数据形成的。客户端和服务器都非常简单,如下所示。服务器:importtornado.websocketimporttornado.httpserverimporttornado.ioloopimporttornado.webclassWebSocketServer(tornado.websocket.WebSocketHandler):defopen(self)

python - 使用 Tornado 和 Pika 进行异步队列监控

我有一个AMQP服务器(RabbitMQ),我想在Tornadowebserver中发布和读取它.为此,我想我会使用异步amqppython库;特别是Pika(据称支持Tornado的一种变体)。我编写的代码似乎成功地从队列中读取,除了在请求结束时,我得到一个异常(浏览器返回正常):[E10121901:07:35web:868]UncaughtexceptionGET/(127.0.0.1)HTTPRequest(protocol='http',host='localhost:5000',method='GET',uri='/',version='HTTP/1.1',remote_i

python - Tornado 的多个身份验证选项

刚开始玩Tornado,想提供多种身份验证方法。目前我的应用程序使用tornado.auth.GoogleMixin与谷歌的混合OpenID/oAuth一起工作正常,未经身份验证的用户会自动发送到谷歌的授权页面。如果未经身份验证的用户想要使用其他选项(即本地身份验证或tornado.auth.TwitterMixin),我如何在登录处理程序中实现选择身份验证机制的逻辑?我将装饰器“tornado.web.authenticated”添加到我所有公开的方法中,这是我的登录处理程序类(几乎直接来自Tornado示例),它目前正在使用GoogleOpenID/oAuth:classAuthL

python - 如何使用通过安全 cookie 对用户进行身份验证的测试 Tornado 服务器处理程序

如何为通过安全cookie验证用户身份的Tornado处理程序编写单元测试?这是我想通过的虚拟测试的代码(和sudo代码)。我正在使用Tornado3.1。fromtornado.webimportApplication,RequestHandlerfromtornado.escapeimportto_unicode,json_decode,json_encodefromtornado.testingimportAsyncHTTPTestCaseclassMainHandler(RequestHandler):"""Basehandlertoauthenticateuserviaase