python web自制框架之接受url传递过来的参数实例

yipeiwu_com7年前Python基础

我们知道,在django里有个request,可以接收表单等前端传过来的数据,现在我们也做一个类似的功能。

首先我们定义一个类class,然后初始化数据与定义保存参数的方法,如下:

class Request(object):
 def __init__(self):
  self.method = 'GET'
  self.path = ''
  self.query = {}
  self.body = ''
 
 def form(self):
  body = urllib.parse.unquote(self.body)
  args = body.split('&')
  f = {}
  for arg in args:
   k, v = arg.split('=')
   f[k] = v
  return f

然后我们可以request = Request(),然后把request设置成全局变量,请求一次,就把request里面的数据刷新一次。

例:

r = connection.recv(1000)
r = connection.resv(1000)

r接收请求的数据

然后,request.method = r.split()[0]

request.body = r.split('\r\n\r\n',1)[1]

以此类推。

以上这篇python web自制框架之接受url传递过来的参数实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

python cx_Oracle的基础使用方法(连接和增删改查)

问题 使用python操作oracle数据库,获取表的某几个字段作为变量值使用。 使用Popen+sqlplus的方法需要对格式进行控制,通过流获取这几个字段值不简洁(个人观点……)。...

Python设计模式之策略模式实例详解

Python设计模式之策略模式实例详解

本文实例讲述了Python设计模式之策略模式。分享给大家供大家参考,具体如下: 策略模式(Strategy Pattern):它定义了算法家族,分别封装起来,让他们之间可以相互替换,此模...

python常见排序算法基础教程

python常见排序算法基础教程

前言:前两天腾讯笔试受到1万点暴击,感觉浪费我两天时间去牛客网做题……这篇博客介绍几种简单/常见的排序算法,算是整理下。 时间复杂度 (1)时间频度一个算法执行所耗费的时间,从理论上是不...

Python日期操作学习笔记

比如用 print ','.join(datelist) 就可以将datelist列表里面的所有项目并成一个字符串,当然这个表达式会在每一个项目中间插入一个逗号,这种方式比用循环的方式更...

Python安装selenium包详细过程

Python安装selenium包详细过程

Python安装selenium包 打开命令行窗口,进入python交互环境 python 尝试导入selenium包,报错,说明尚未安装selenium import seleniu...