tornado 中读取访问参数(get和post方式)

mac2024-03-14  28

tornado 中读取访问参数

1、get方式
arg = self.get_query_argument(‘keyword’,’’) 获取get请求方式的keyword对应的值,如果不存在,则为空字符串 args = self.get_query_arguments(‘keyword’) 返回一个列表,获取get请求方式的keyword对应的一组值,如果不存在,则为空列表 import tornado from tornado.httpserver import HTTPServer from tornado.ioloop import IOLoop from tornado.options import define, options, parse_config_file from tornado.web import Application, RequestHandler, url # 处理响应用户的请求 # url : 127.0.0.1:8000/?wd=111&wd=222 class IndexHandler(RequestHandler): def get(self): arg = self.get_query_argument('wd', '') # 如果没有参数时,返回空字符串 print(arg) # 222,获得最新的一个参数值 args = self.get_query_arguments('wd') # 如果没有参数时,程序正常,返回一个空列表 print(args) # ['111', '222'] # 端口名为port,类型为整型,默认值为10000,不是一组值 define('port', type=int, default=10000, multiple=False) # 从指定的配置文件中读取port,从当前文件的路径下寻找config文件 parse_config_file('config') url_list = [('/', IndexHandler)] app = Application(url_list) server = HTTPServer(app) server.listen(options.port) IOLoop.current().start()
2、post方式
arg = self.get_body_argument(‘keyword’, ‘’) 获取post请求方式的keyword对应的值,如果不存在,则为空字符串 args = self.get_body_arguments(‘keyword’) 返回一个列表,获取post请求方式的keyword对应的一组值,如果不存在,则为空列表 import tornado from tornado.httpserver import HTTPServer from tornado.ioloop import IOLoop from tornado.options import define, options, parse_config_file from tornado.web import Application, RequestHandler, url # 处理响应用户的请求 # url : 127.0.0.1:8000/ class IndexHandler(RequestHandler): def post(self): arg = self.get_body_argument('wd', '') print(arg) # 获得wd参数最新的值 args = self.get_body_arguments('wd') print(args) # 获得wd参数值的列表 # 端口名为port,类型为整型,默认值为10000,不是一组值 define('port', type=int, default=10000, multiple=False) # 从指定的配置文件中读取port,从当前文件的路径下寻找config文件 parse_config_file('config') url_list = [('/', IndexHandler)] app = Application(url_list) server = HTTPServer(app) server.listen(options.port) IOLoop.current().start() 使用postman发送post的请求
3、get__argument() 和 get_arguments()
get__argument() 相当于get_query_argument() + get_body_argument() 只取get请求和post 请求中最后一个参数的值,即最新的值 get__arguments() 相当于get_query_arguments() + get_body_arguments() 返回一个列表,取get请求和post 请求中全部参数的值,如果没有返回一个空列表 import tornado from tornado.httpserver import HTTPServer from tornado.ioloop import IOLoop from tornado.options import define, options, parse_config_file from tornado.web import Application, RequestHandler, url # url: 127.0.0.1/?wd=123456 # post请求参数为{'wd':'222'} class IndexHandler(RequestHandler): def get(self): self.write('index page') arg2 = self.get_argument('wd','') print(arg2) # 222 args2 = self.get_arguments('wd') print(args2) # ['123456', '222'] def post(self): self.write('post mothod') define('port', type=int, default=10000, multiple=False) parse_config_file('config') url_list = [('/', IndexHandler)] app = Application(url_list) server = HTTPServer(app) server.listen(options.port) IOLoop.current().start()
4、获取请求头中的参数
head_contents= self.request.headers import tornado from tornado.httpserver import HTTPServer from tornado.ioloop import IOLoop from tornado.options import define, options, parse_config_file from tornado.web import Application, RequestHandler, url # url: 127.0.0.1/?wd=123456 # post请求参数为{'wd':'222'} class IndexHandler(RequestHandler): def get(self): head_contents= self.request.headers print(head_contents) # Content-Type: application/x-www-form-urlencoded # Connection: keep-alive # Accept-Encoding: gzip, deflate # Selfheader: (自定义的header) # Content-Length: 6 # Cache-Control: no-cache # User-Agent: PostmanRuntime/7.19.0 # Postman-Token: 5c4e1f5c-acc5-4769-ab0d-f20a62d4f8aa # Accept: */* # Host: 127.0.0.1:8000 ct = head_contents.get('Content-Type','') sh = head_contents.get('selfheader', '') print(ct) # application/x-www-form-urlencoded print(sh) # def post(self): self.write('post mothod') define('port', type=int, default=10000, multiple=False) parse_config_file('config') url_list = [('/', IndexHandler)] app = Application(url_list) server = HTTPServer(app) server.listen(options.port) IOLoop.current().start()
最新回复(0)