精华内容
下载资源
问答
  • Cookies

    2019-08-15 16:29:52
    浏览器每次发出请求头(Cookies字段设置)时都会将当前匹配的Cookies发送给服务器(直到Cookies过期) 属性值的等号两边,不能有空格。 Cookies不提供删除和修改的方式,需要使用其他方式间接实现。 一个响应头...
    1. Cookies通过HTTP响应发送给客户端(Set-Cookie字段设置)。 
    2. 浏览器每次发出请求(Cookies字段设置)时都会将当前匹配的Cookies发送给服务器(直到Cookies过期)
    3. 属性值的等号两边,不能有空格。
    4. Cookies提供删除和修改的方式,需要使用其他方式间接实现。
    5. 一个响应头可以设置多个Set-Cookie。
    6. eg:Set-Cookie: key=value; Expires=Wed, 21 Oct 2015 07:28:00 GMT; Secure; HttpOnly 。
    7. 如果服务器想改变一个早先设置的 Cookie,必须同时满足四个条件:Cookie 的keydomainpathsecure都匹配,只要有一个属性不同,就会生成一个全新的 Cookie,而不是替换掉原来那个 Cookie。
    8. cookies的大小上限一般为4K,且在不同的浏览器中每个域名的cookies数量也有限制。
    9. 根据浏览器的设置,cookies可能会失效(禁用或者较高的安全级别)

     

                                                                                            Cookies数据结构

    Attribute   Name    default                                description                other
    Expires   设置具体的过期时间,时间为UTC格式,浏览器根据本地时间对比此值决定是否删除此Cookies 若这两个属性都未设置,则表示当前Cookies是临时Cookies,也就是保存在内存中,关闭浏览器则失效。
    Max-Age -1 设置Cookies多久之后过期,单位秒,优先级高于Expires。当Max-Age > 0时,表示在Max-Age秒后过期,浏览器会将Cookies保存在本地存储介质中。当Max-Age=0,表示立即删除此Cookies,服务器可以如此如此删除Cookies。当Max-Age < 0时为临时Cookies,保存在内存中,关闭浏览器则失效。
    HttpOnly - JavaScript的  Doecument.cookie API 无法访问; 它们只被发送到服务器。  
    Secure - 在不安全的网站中(http:)无法使用该Secure指令设置Cookie,而且浏览器会忽略服务器发送的带Secure的Cookie(新版浏览器中)。带Secure的Cookie只能通过https协议传输。  
    Domain 一级域名

    属性值必须时当前URL的一部分

    指定哪些域名要附带这个Cookie

     
    Path 当前路径 Path属性指定浏览器发出 HTTP 请求时,哪些路径要附带这个 Cookie。只要浏览器发现,Path属性是 HTTP 请求路径的开头一部分,就会在头信息里面带上这个 Cookie。必须为绝对路径。  

    详细信息请见参考2

     

    参考:

    [1].http://javascript.ruanyifeng.com/bom/cookie.html

    [2].https://developer.mozilla.org/en-US/docs/Web/HTTP/Cookies

    展开全文
  • cookies

    2019-04-18 09:22:10
    开发工具与关键技术:Visual Studio 2015 —cookies 作者:廖亚星 撰写时间:2019年4 月19 日 Cookies用于存储Web页面的用户信息 Cookies是一些数据,存储于电脑的文本文件中 当Web服务器向浏览器发送Web页面时,在...

    开发工具与关键技术:Visual Studio 2015 —cookies

    作者:廖亚星
    撰写时间:2019年4 月19 日

    Cookies用于存储Web页面的用户信息
    Cookies是一些数据,存储于电脑的文本文件中
    当Web服务器向浏览器发送Web页面时,在连接关闭后,服务器不会记录用户的信息
    Cookies的作用就是解决“如何记录客户端的用户信息”:
    当用户访问Web页面时,他的名字可以记录在Cookie中。
    当用户下一次访问该页面时,可以在cookie中读取用户访问记录。
    Cookies以名/值对形式存储,如:
    Username=Daive
    当浏览器从服务器上请求Web页面时,属于该页面的cookies会被添加到该请求中,服务端通过这种方式来回去用户的信息。
    现在我们来创建一个函数用于存储访问者的名字:
    在这里插入图片描述
    在上面的函数参数中,cookie的名称为cname,cookie的值为cvalue,并设置了cookie的过期时间expires
    该函数设置了cookie名、cookie值、cookie过期时间。
    然后我们创建一个函数用户返回指定cookie的值:
    在这里插入图片描述
    Cookie名的参数为cname。
    创建一个文本变量用于检索指定cookie;cname+“=”。
    使用分号来分割document.cookie字符串,并将分割后的字符串数组赋值给ca(ca=document.cookie.split(‘;’))。
    循环 ca 数组 (i=0;i<ca.length;i++),然后读取数组中的每个值,并去除前后空格 (c=ca[i].trim())。
    如果找到 cookie(c.indexOf(name) == 0),返回 cookie 的值 (c.substring(name.length,c.length)。
    如果没有找到 cookie, 返回 “”。
    最后,我们可以创建一个检测 cookie 是否创建的函数。
    如果设置了 cookie,将显示一个问候信息。
    如果没有设置 cookie,将会显示一个弹窗用于询问访问者的名字,并调用 setCookie 函数将访问者的名字存储 365 天:
    在这里插入图片描述
    当填写名字后,以后进入该网址便会自动弹出消息框
    在这里插入图片描述

    展开全文
  • vue之vue-cookies

    万次阅读 2019-06-24 10:48:39
    npm链接:...npm install vue-cookies --save 使用: import Vue from ‘Vue’ import VueCookies from ‘vue-cookies’ Vue.use(VueCookies) Api:  设置 cookie: this.cookies.set...

    npm链接:https://www.npmjs.com/package/vue-cookies
    安装:
    npm install vue-cookies --save
    使用:
    import Vue from ‘Vue’
    import VueCookies from ‘vue-cookies’
    Vue.use(VueCookies)
    Api:
      设置 cookie:
    this.cookies.set(keyName,time)//returnthis  cookiethis.cookies.set(keyName, time) //return this   获取cookie this.cookies.get(keyName) // return value
      删除 cookie
    this.$cookies.remove(keyName) // return false or true , warning: next version return this; use isKey(keyname) return true/false,please
      查看一个cookie是否存在(通过keyName)

    this.$cookies.isKey(keyName) // return false or true
      获取所有cookie名称

    this.$cookies.keys() // return a array

    展开全文
  • selenium 获取登录cookies,并添加cookies自动登录

    万次阅读 多人点赞 2018-12-18 14:47:55
    selenium 获取登录cookies,并添加cookies实现自动登录
    create-time : 2018-12-18 12:05:30
    

    selenium 获取登录cookies,并使用之


    在使用selenium 爬取淘宝商品信息的时候,发现需要登录才能查看相关商品信息。我们可以使用cookies来自动登录。

    selenium 获取登录cookies

    selenium 获取cookies

    进入登录页面,登录。淘宝登录后会自动跳转到https://www.taobao.com
    selenium 获取当前页面的URL,若为https://www.taobao.com 则证明登录成功

    webdriver.Chrome().get_cookies() 获取的cookies 是列表类型<class 'list'>,是由字典组成的list.字典中包含 domain,name,value等信息。主要需要的是每一个cookies 内的name,value 项,其他项相同。

    # https://www.baidu.com 中一个cookies内容,list 中的一个dict
    {'domain': '.baidu.com', 'httpOnly': False, 'name': 'H_PS_PSSID', 'path': '/', 'secure': False, 'value': '123456_123456'}
    

    为了一次登录获取cookies,可以使用多次。利用 pickle 存储相关的cookies信息,下次可以直接调用。

    pickle 是Python特有的序列化工具,能够快速高效存储Python数据类型,反序列化读取后返回的仍是原先的python数据类型。而.txt 等都是字符串类型,需要转换。

    • 小技巧: pycharm 可以自动导入包,自动导入包快捷键为 Alt + Enter
    import os
    import pickle
    import time
    
    from selenium import webdriver
    from selenium.webdriver.support.wait import WebDriverWait
    
    brower = webdriver.Chrome()
    wait = WebDriverWait(brower, 10)
    
    def getTaobaoCookies():
        # get login taobao cookies
        url = "https://www.taobao.com/"
        brower.get("https://login.taobao.com/member/login.jhtml")
        while True:
            print("Please login in taobao.com!")
            time.sleep(3)
            # if login in successfully, url  jump to www.taobao.com
            while brower.current_url ==  url:
                tbCookies  = brower.get_cookies()
                brower.quit()
                cookies = {}
                for item in tbCookies:
                    cookies[item['name']] = item['value']
                outputPath = open('taobaoCookies.pickle','wb')
                pickle.dump(cookies,outputPath)
                outputPath.close()
                return cookies
    

    读取cookies 信息

    def readTaobaoCookies():
        # if hava cookies file ,use it 
        # if not , getTaobaoCookies()
        if os.path.exists('taobaoCookies.pickle'):
            readPath = open('taobaoCookies.pickle','rb')
            tbCookies = pickle.load(readPath)
        else:
            tbCookies = getTaobaoCookies()
        return tbCookies
    

    selenium 使用 cookies

    selenium 需要先打开一个网址,才能加载进去cookies(知道cookies是哪个网站的)。添加完cookies再打开网址,使用cookies

    前面读取的cookies 是一个包含着每一个cookies的name,value 的字典,即name1:value1,name2:value2字典。遍历添加网站使用的每一个cookies的name,value.

    tbCookies = readTaobaoCookies()
    
    brower.get("https://www.taobao.com")
    for cookie in tbCookies:
        brower.add_cookie({
            "domain":".taobao.com",
            "name":cookie,
            "value":tbCookies[cookie],
            "path":'/',
            "expires":None
        })
    brower.get("https://www.taobao.com")
    
    展开全文
  • selenium携带cookies模拟登陆CSDN

    万次阅读 2020-12-20 11:25:01
    首先是获取cookies保存到本地 #!/usr/bin/env python # -*- coding: utf-8 -*- # @Time : 2020/12/20 11:00 # @Author : huni # @File : cookies获取.py # @Software: PyCharm from selenium import webdriver from ...
  • requests模块 保存cookies和使用cookies。 在会话中保留状态,可以使用request.Session() # 获取cookie url = 'http://www.baidu.com' r = requests.get(url) r.cookies # 将CookieJar转为字典: cookie_dict= ...
  • 项目需求:先模拟登录了某一个网站,接着携带其cookies进入到另一个网站的登录界面,登录成功之后携带其cookies又进入到另一个界面。

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 42,550
精华内容 17,020
关键字:

cookies