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

  • 相关阅读:
    odoo11 访问MSQL Server等第三发数据源
    学习 Git Rebase
    Arch Linux 启用 MTU 探测
    可控函数
    DIY:从零开始写一个 SQL 构建器
    F# 4.6 预览版正式公布
    使用 Immutable Subject 来驱动 Angular 应用
    如何对付运行时可能为 null 的 Record Type
    Angular Forms
    不要使用 JWT 进行会话管理
  • 原文地址:https://www.cnblogs.com/swing07/p/9298153.html
Copyright © 2011-2022 走看看