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

yipeiwu_com6年前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迭代器与生成器详解

例子 老规矩,先上一个代码: def add(s, x): return s + x def gen(): for i in range(4): yield i bas...

django ManyToManyField多对多关系的实例详解

django ManyToManyField多对多关系的实例详解

Django 的 ORM 有多种关系:一对一,多对一,多对多 各自定义的方式为 : 一对一: OneToOneField 多对一: ForeignKey 多对多: ManyToManyF...

python IDLE 背景以及字体大小的修改方法

python IDLE 背景以及字体大小的修改方法

为了保护眼睛,决定把白色背景换掉: 1 首先,在已经下载好的python文件目录下,找到config-highlight.def文件,我的是在H:\python\python3**\...

python模拟键盘输入 切换键盘布局过程解析

python模拟键盘输入 切换键盘布局过程解析

PostMessage() def keyHwnd(hwndEx, char): """ 向指定控件输入值 :param hwndEx: 控件句柄 :param c...

Python3.6.2调用ffmpeg的方法

本文是为了学习python调用C语言的库写的例子。 去ffmpeg官网下载编译好的avcodec-57.dll、avutil-55.dll、swresample-2.dll,准备好了C语...