zoukankan      html  css  js  c++  java
  • python requests 的cookie 操作

    结论:

    1.requests模块的请求和响应分别有cookie对象。 可以通过此对象设置和获取cookie。 

    2.通过在requests.get,requests.post等方法请求中传入cookies字典参数 只用于单次请求的cookie设置。

    3. request.session() 返回保持会话的对象。Provides cookie persistence, connection-pooling, and configuration。

    1. 请求的cookie设置和获取

    方式一: 参数传入方式  在请求的时候加入 cookies 参数, 这种方式设置的cookie只是单个请求添加。

    import requests as requestsModule
    cookiesDit = {
    'PHPSESSID':'d38k25b2nt90ahhaanuuqghrh6'
    }
    requests = requestsModule.session()
    print(requests.cookies.get_dict()) #先打印一下,此时一般应该是空的。
    postData ={
    }
    # 设置了 cookies
    rs=requests.post('http://www.baidu.com',data = postData,headers=headers,cookies=cookiesDit,verify=False)
    rs.encoding='utf-8'
    print(requests.cookies.get_dict() )  # 缓存的cookie
    print(rs.cookies.get_dict() )  # 获取响应设置的cookie

    方式二: 设置requests的cookie成员对象

    import requests as requestsModule
    cookiesDit = {
    'PHPSESSID':'d38k25b2nt90ahhaanuuqghrh6'
    }
    requests = requestsModule.session()
    requestsModule.utils.add_dict_to_cookiejar(requests.cookies, cookiesDit) # 这只请求的cookie对象的值 会一直使用
    print(requests.cookies.get_dict()) #先打印一下,设置的cookie能看到。
    postData ={
    }
    # 设置了 cookies
    rs=requests.post('http://www.baidu.com',data = postData,headers=headers,verify=False)
    rs.encoding='utf-8'
    print(requests.cookies.get_dict() )
    print(rs.cookies.get_dict() )

    # 使用对象方式设置 和requestsModule.utils.add_dict_to_cookiejar 设置效果一样

    c=requests.cookies.RequestsCookieJar()#利用RequestsCookieJar获取
    c.set('cookie-name','cookie-value')
    s.cookies.update(c)

    详细使用可参考官方手册

    http://cn.python-requests.org/zh_CN/latest/api.html#requests.PreparedRequest.prepare

  • 相关阅读:
    不一样的图片加载方式
    赢 1000 元现金红包!助力奥运,猜金银牌数赢现金
    接入 SDK 结果翻车了?了解 SDK 的那些事
    关于 IPv6 国家有大动作啦!快来瞅瞅行动计划都说了什么~
    MySQL 那些常见的错误设计规范
    webpack 从 0 到 1 构建 vue
    PHP 网络通信底层原理分析
    内部方案汇总
    taro+vue3 引入 taro-ui-vue3
    springboot+tomcat+vue+nginx 前后端分离配置
  • 原文地址:https://www.cnblogs.com/swing07/p/9298153.html
Copyright © 2011-2022 走看看