107-HTTP协议的无状态保存
什么是无状态保存?
HTTP无状态请求就是客户端每次发送的请求都是单独的新请求,每一次请求都是独立的,这样的特点在网站上就是服务器登录的时候记录浏览器的信息,建立起会话,会话记录有效的防止了http的无状态保存
aaarticlea/png;base64,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gbZt22rt+fL29n7mMlA8NBYVFYULFy7g8uXLaNWqFX7++efntj8lJQVLlizBw4cPsWbNGjRo0ABA8ZwjJycnrF+/Htu2bQOAMofZqHphECIiek2ioqLQq1cvAMDKlSuRlZX1QpOBlUolZs2ahcmTJ2sNVOXl5OSE/Px8GBkZYdSoUVrrPH2zwfL6888/4ejoWGZ5eHg4FAoFvLy8EBgYiAkTJiA/Px8GBgZYvnw5DAwMoFarUVRUhKKiIlhZWUlXwTk5OZW7HYmJiUhLS8PHH3+MxYsXw9zcXCp7OsCUDK3Fx8fD09MTH374Ib7//vtStyooCWlOTk6Ij4/HF198Ue72ENEr4NAYUc2wf/9+kZOTI4QQYuPGjcLd3V3s3LlTY0gmICBA63BSZGSkEEKImzdvai2PiIjQWL57965Qq9Va6wohhEql0lquUqnEnDlzytymrLISX375pTh//nyZ5SXDW9oUFRWJgoICkZ+fL/Ly8kRubq4oKCgQSqVSzJs3TyiVymceWwgh5s2b98xhuTNnzpRaVzIcJ4QQd+7cKVXu7OwshBBi7dq1wtbWVqxdu1Y6F13/TBHpBQYhoprhuf/FqUp7OggJwTlCRK8FgxARke7Z2trO//9/j+frui1Uccp+oh8RERFRDccgRERERHqLQYiIiIj0FoMQERER6S0GISIiItJbDEJERESktxiEiIiISG8xCBEREZHeYhAiIiIivcUgRERERHqLQYiIiIj0FoMQERER6S0GISIiItJbDEJERESktxiEiIiISG8xCBEREZHeYhAiIiIivcUgRERERHqLQYiIiIj0FoMQERER6S0GISIiItJbDEJERESktxiEiIiISG8xCBEREZHeYhAiIiIivcUgRERERHqLQYiIiIj0FoMQERER6S0GISIiItJbDEJERESktxiEiIiISG8xCBEREZHeYhAiIiIivcUgRERERHqrlq4bQERVhxBC6LoNFUkmk8l03QYiqtrYI0REVYIQAgkJCbpuBhHpGQYhIipl+/btyMrKeqFt+vbtW2ZZdnY2rl+/joMHD+LatWta6yiVSnz00UcvdEwAOHHiBB49evTC2xERARwaI6KnxMfHY8WKFdi7dy8AwM/PD3Fxcfjpp5+QkpICuVwOAEhJScHZs2dhYKD985SLiwvy8/ORl5cHExMTNGrUCFZWVhg8eDDatm1bYe39448/EBUVBR8fnwrbJxHpDwYhIpKo1WqsW7cO+/fvR3x8PAIDA2FlZQVra2vY29vDw8MD+/btgxACgwYNKjMEAUBycjKOHTsGY2NjreXdu3cv13pjY2McO3YMKpUK3bp1Q8OGDbVuN2DAAOl1WloaTp8+/bzTJSJiECKi/wkMDMSFCxfg7e2NpKQk1K9fH7Nnz0ZAQAA2b94MOzs7/Pnnn7CwsEDjxo0BAFu2bMH27duRmZmJoUOHAgDCwsIAoMwQBACFhYU4ffq0VCc1NRVubm44duyYVCcrKwsDBw7U2C4iIkKqf+/ePXTq1AkAEB0djdatW8PCwgIKhaKC3hEiquk4R4iIJC4uLjA1NcWWLVsgl8uxd+9eJCUlYeHChTh79iymTJmCadOmYeLEiRg/fjwAwMPDA+vWrYMQArt375ZC0Iv6+++/0bRp0zLLDQ0NERISgtTUVCxbtgxjx47F9evXER8fj6SkJMTFxWHEiBEIDg7Gnj17YGRk9FLtICL9wh6hasTW1rZGXdpMVY9cLoe2K869vLxw9uxZxMbGQqVSITIyUqP8yJEjAABXV1csWLAAnTt3RmFhIRwcHKQ62dnZMDMzAwBs2rSp1DHCw8ORlJSEw4cPo3///lrbd/DgQRw4cABubm4IDQ3FiRMn4O3tjXr16sHf3x+DBg2Cn58f7ty5g6+//pq/M0T0XAxC1YAQ4qhMJuuj63aQflAqlfDw8EBSUhI8PDygVCohl8sRFhaGxMRE5ObmYtiwYQCA8ePHw9nZGYcPH0bdunUxZ84cTJ8+HWvWrIGpqanGMFf37t01lp90+PBhREVFYfny5Vi0aBFiYmIwderUUvXc3d3h5eWFzMxM/Pvf/0ZCQgI2bNiABw8eYMaMGRg9ejT8/f2hVCor580hArIBnNd1I4iIqBIIIYSzs7MQQgg3Nzfpa0JCghgzZowQQojevXuLJ4WFhYnFixcLR0dHIYQQZ86cEbdv3xYDBgzQqGdvb6+xbGtrK7KyskRgYKDo2bOnOHPmjBBCiIyMDDF27FgxZcoUcf/+fY3tUlJSxE8//SR69+4tVq1aJQoKCqSyrKwssWTJEjFq1Cixe/dukZ6ezt4gInou9ggRkYbCwsJSPUKGhoaYNGmS1vol9X7//XcAgJ2dHU6dOoXmzZs/91jLli1DTEwM1q9fjzZt2gAALCwssHr1asyYMQOXLl2S6kZERGDevHl47733UFBQgNDQUISGhpbaZ15eHqKioqTL/ImIiIjKRQghhg4dWqpHKDg4WDg5OQknJyehUCik105OTkKlUgkhhNQjJIQQvr6+Yt26dc/tEXr8+LEoKioSZcnMzJS2y8/PF2lpaaKoqEjY2tpqrf90ma7fTyKq+tgjRESSlJQU6bL4J3l4eMDDwwMA4ODg8Mwrw65fv47IyEjs2rXrucczNTWFoaGhxjq1Wo3MzEyYmZnh3r170tVfJiYmMDExgUqlepFTIiJ6JgYhIpJERUWhV69eAICVK1ciKytL61VkZVEqlZg1axYmT56sNVCVl5OTE/Lz82FkZIRRo0ZprfPkDRSJiIiIXtn+/ftFTk6OEEKIjRs3Cnd3d7Fz506N4aeAgACtw1KRkZFCCCFu3ryptTwiIkJj+e7du0KtVpc5LKZSqbSWq1QqMWfOnDK3ebJM1+8nEVV95f+oR0Q1Xk0LD7IX6c4iIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiomf6f2f7pqcXwnXrAAAAAElFTkSuQmCC" alt="" width="497" />
 
108-cookie简介
cookie和session都是会话编辑技术
什么是会话?
一次请求和一响应不是一次会话,一次会话包含多次请求,编辑技术就是记录了会话的相关信息
什么是cookie?
具体一个浏览器,不同的浏览器有不同的cookie,不同的浏览器针对一个服务器存储的数据key,value结构
cookie是保存在浏览器上的一个结构,针对服务器就要存一个字典形式的信息,浏览器就保存在请求的信息处,浏览器是可以设置
当浏览器发送数据给服务器的时候,服务器就会设置并发送一个cookie,下一次浏览器接收到以后,就会发送这样的一个cookie,就能够建立请求直接的联系,能读到的cookie的服务器就会访问
之前的会话
浏览器在有效期内(一般为2周),浏览器再访问服务器的时候都会带着cookie值,如果是别的浏览器来访问服务器的话,带的是其他的cookie或者空的新cookie给服务器
 
109-Cookie的设置与读取
from django.shortcuts import render, HttpResponse, redirect

# Create your views here.
from app01.models import UserInfo def login(request):
if request.method == 'POST':
user = request.POST.get('user')
pwd = request.POST.get('pwd')
userinfo = UserInfo.objects.filter(user=user, pwd=pwd).first()
if userinfo:
'''
响应体
最基本都是HttpResponse,其他的相应方式都是继承了HttpResponse
:return HttpResponse
:return render
:return redirect
'''
print('登录成功')
response = HttpResponse('登录成功')
# 这就是cookie函数,需要加key,value
response.set_cookie('is_login', True)
response.set_cookie('user', user)
return response
else:
print('登录失败')
return HttpResponse('登录失败')
return render(request, "login.html") def index(request):
print(request.COOKIES)
is_login = request.COOKIES.get('is_login')
# print(is_login)
if is_login:
username = request.COOKIES.get('user')
return render(request, 'index.html', locals())
return render(request, 'index.html')

Views.py

class HttpResponseBase:

def set_cookie(self, key, 键
             value='', 值
             max_age=None, 超长时间
                              cookie需要延续的时间(以秒为单位)
                              如果参数是\ None`` ,这个cookie会延续到浏览器关闭为止。              expires=None, 超长时间
                          expires默认None ,cookie失效的实际日期/时间。
                                          path='/', Cookie生效的路径,
浏览器只会把cookie回传给带有该路径的页面,这样可以避免将
cookie传给站点中的其他的应用。
/ 表示根路径,特殊的:根路径的cookie可以被任何url的页面访问
            
domain=None, Cookie生效的域名
你可用这个参数来构造一个跨站cookie。
如, domain=".example.com"
所构造的cookie对下面这些站点都是可读的:
www.example.com 、 www2.example.com
                         和an.other.sub.domain.example.com 。
如果该参数设置为 None ,cookie只能由设置它的站点读取。              secure=False, 如果设置为 True ,浏览器将通过HTTPS来回传cookie。
             httponly=False 只能http协议传输,无法被JavaScript获取
(不是绝对,底层抓包可以获取到也可以被覆盖)
          ): pass
110-设置cookie的超时参数
max_age如果参数不加的话,就是浏览器带着true,设置的数值是以秒数记录,超出秒数就过有效期
expires=None
以秒数为单位设置或者指定日期时间设置

response.set_cookie('is_login', True, max_age=15)

import datetime
date = datetime.datetime(year=2019, month=10, day=15)
response.set_cookie('user', user, expires=date)

设置参数实例

111-设置cookie的有效路径参数

# 指定url的可以带的cookie
response.set_cookie('user', user, path='/index/')

指定路径

112-cookie应用之保存上次访问时间

set
response.set_cookie('time', time.strftime('%Y-%m-%d %X')) get
date = request.COOKIES.get('time')
if is_login:
username = request.COOKIES.get('user')
return render(request, 'index.html', locals()) html
<h2>Hi {{ username }}</h2>
<hr>
<h2>上一次的登录时间 {{ date }}</h2>

简单代码实例

 
 

路飞学城Python-Day113的更多相关文章

  1. 路飞学城—Python爬虫实战密训班 第三章

    路飞学城—Python爬虫实战密训班 第三章 一.scrapy-redis插件实现简单分布式爬虫 scrapy-redis插件用于将scrapy和redis结合实现简单分布式爬虫: - 定义调度器 - ...

  2. 路飞学城—Python爬虫实战密训班 第二章

    路飞学城—Python爬虫实战密训班 第二章 一.Selenium基础 Selenium是一个第三方模块,可以完全模拟用户在浏览器上操作(相当于在浏览器上点点点). 1.安装 - pip instal ...

  3. 路飞学城Python爬虫课第一章笔记

    前言 原创文章,转载引用务必注明链接.水平有限,如有疏漏,欢迎指正. 之前看阮一峰的博客文章,介绍到路飞学城爬虫课程限免,看了眼内容还不错,就兴冲冲报了名,99块钱满足以下条件会返还并送书送视频. 缴 ...

  4. 路飞学城-Python开发集训-第3章

    学习心得: 通过这一章的作业,使我对正则表达式的使用直接提升了一个level,虽然作业完成的不怎么样,重复代码有点多,但是收获还是非常大的,有点找到写代码的感觉了,遗憾的是,这次作业交过,这次集训就结 ...

  5. 路飞学城-Python开发集训-第1章

    学习体会: 在参加这次集训之前我自己学过一段时间的Python,看过老男孩的免费视频,自我感觉还行,老师写的代码基本上都能看懂,但是实际呢?....今天是集训第一次交作业的时间,突然发现看似简单升级需 ...

  6. 路飞学城-Python开发集训-第4章

    学习心得: 学习笔记: 在python中一个py文件就是一个模块 模块好处: 1.提高可维护性 2.可重用 3.避免函数名和变量名冲突 模块分为三种: 1.内置标准模块(标准库),查看所有自带和第三方 ...

  7. 路飞学城-Python开发集训-第2章

    学习心得: 这章对编码的讲解超级赞,现在对于编码终于有一点认知了,但还没有大彻大悟,还需要更加细心的琢磨一下Alex博客和视频,以前真的是被编码折磨死了,因为编码的问题而浪费的时间很多很多,现在终于感 ...

  8. 路飞学城-Python开发-第二章

    ''' 数据结构: menu = { '北京':{ '海淀':{ '五道口':{ 'soho':{}, '网易':{}, 'google':{} }, '中关村':{ '爱奇艺':{}, '汽车之家' ...

  9. 路飞学城-Python开发-第三章

    # 数据结构: # goods = [ # {"name": "电脑", "price": 1999}, # {"name&quo ...

  10. 路飞学城-Python开发-第一章

    # 基础需求: # 让用户输入用户名密码 # 认证成功后显示欢迎信息 # 输错三次后退出程序 username = 'pandaboy' password = ' def Login(username ...

随机推荐

  1. 8.在idea中配置maven

    1.在IntelliJ IDEA中配置maven 打开-File-Settings 2.我们还可以在勾选一些其他选项 3.我们可以更新一下本地仓库和远程仓库,这个样在pom.xml文件中添加依赖jia ...

  2. mac Gitblit安装

    jdk下载传送门 gitBlit是java编写的的 第一步 需要安装java jdk 传送门 JDK6的下载地址: http://www.oracle.com/technetwork/java/jav ...

  3. java里面的队列

    非阻塞无界队列 ConcurrentLinkedQueue   public static void main(String[] args) throws InterruptedException { ...

  4. poj 2117 去掉割点可以分得的联通图的个数模板

    #include<stdio.h> #include<string.h> #define N 11000 /* 去掉一个割点后,询问可以分得的联通图的个数 */ struct ...

  5. 1009在WINDOWS上面如何备份数据库

    第一步 解决windows上面使用GZIP命令 参考http://www.xuebuyuan.com/1676976.html 后经研究,发现解决方法也很简单,只需下载gzip的windows版本,解 ...

  6. A - 敌兵布阵(HDU 1166)

    A - 敌兵布阵 HDU - 1166 思路:线段树单点修改+区间查询. #include<cstdio> #include<cstring> #include<iost ...

  7. Android之——自己主动挂断电话的实现

    转载请注明出处:http://blog.csdn.net/l1028386804/article/details/47072451 通过<Android之--AIDL小结>与<And ...

  8. Eclipseproject出现红叉

    通过import导入包的时候往往会出现红叉的情况.但又没有错:这样的情况能够这样解决 1.选中项目.按Alt键和Enter键 2.选Andriod,在右側的版本号信息里选择一个不同的版本号,如原来默认 ...

  9. session 的工作原理

    session.cookie_domain session.cookie_path session.name session.save_path session.use_cokies session_ ...

  10. 几个比較好的IT站和开发库官网

    几个比較好的IT站和开发库官网 1.IT技术.项目类站点 (1)首推CodeProject,一个国外的IT站点,官网地址为:http://www.codeproject.com,这个站点为程序开发人员 ...