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通过TimedRotatingFileHandler按时间切割日志

python通过TimedRotatingFileHandler按时间切割日志

通过TimedRotatingFileHandler按时间切割日志 线上跑了一个定时脚本,每天生成的日志文件都写在了一个文件中。但是日志信息不可能输出到单一的一个文件中。 原因有二:1....

Django Rest framework认证组件详细用法

Django Rest framework认证组件详细用法

本文详细讲述了DRF认证组件的原理以及用法. 源码剖析 讲解DRF版本的时候我们都知道了,在dispatch方法里执行了initial方法来初始化我们的版本. 而在initial方法里有...

Python实现扩展内置类型的方法分析

本文实例讲述了Python实现扩展内置类型的方法。分享给大家供大家参考,具体如下: 简介 除了实现新的类型的对象方式外,有时我们也可以通过扩展Python内置类型,从而支持其它类型的数据...

go语言计算两个时间的时间差方法

本文实例讲述了go语言计算两个时间的时间差方法。分享给大家供大家参考。具体分析如下: go语言计算两个时间的时间差,代码很简单,返回1天前、1周前还是1月前的时间 package m...

Python中字典创建、遍历、添加等实用操作技巧合集

字段是Python是字典中唯一的键-值类型,是Python中非常重要的数据结构,因其用哈希的方式存储数据,其复杂度为O(1),速度非常快。下面列出字典的常用的用途. 一、字典中常见方法列...