Python Falcon Hello World(WSGI)

Python Falcon Hello World(WSGI)

要创建一个简单的Hello World Falcon应用程序,首先要导入库并声明一个App对象的实例。

import falcon
app = falcon.App()

Falcon遵循REST架构风格。声明一个资源类,包括一个或多个代表标准HTTP动词的方法。下面的 HelloResource 类包含 on_get() 方法,当服务器收到 GET 请求时,该方法会被调用。该方法返回Hello World响应。

class HelloResource:
   def on_get(self, req, resp):
   """Handles GET requests"""
   resp.status = falcon.HTTP_200
   resp.content_type = falcon.MEDIA_TEXT
   resp.text = (
      'Hello World'
   )

要调用这个方法,我们需要把它注册到一个路由或URL上。Falcon应用程序对象通过 add_rule 方法将处理方法分配给相应的URL来处理传入的请求。

hello = HelloResource()
app.add_route('/hello', hello)

Falcon应用程序对象只不过是一个WSGI应用程序。我们可以使用Python标准库中wsgiref模块的内置WSGI服务器。

from wsgiref.simple_server import make_server

if __name__ == '__main__':
   with make_server('', 8000, app) as httpd:
   print('Serving on port 8000...')
# Serve until process is killed
httpd.serve_forever()

例子

让我们把所有这些代码片段放在 hellofalcon.py

from wsgiref.simple_server import make_server

import falcon

app = falcon.App()

class HelloResource:
   def on_get(self, req, resp):
      """Handles GET requests"""
      resp.status = falcon.HTTP_200
      resp.content_type = falcon.MEDIA_TEXT
      resp.text = (
         'Hello World'
      )
hello = HelloResource()

app.add_route('/hello', hello)

if __name__ == '__main__':
   with make_server('', 8000, app) as httpd:
   print('Serving on port 8000...')
# Serve until process is killed
httpd.serve_forever()

从命令提示符下运行这段代码。

(falconenv) E:\falconenv>python hellofalcon.py
Serving on port 8000...

输出

在另一个终端,运行Curl命令,如下所示

C:\Users\user>curl localhost:8000/hello
Hello World

你也可以打开一个浏览器窗口,输入上述URL以获得 “Hello World “的响应。

Python Falcon - Hello World - WSGI

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程