zoukankan      html  css  js  c++  java
  • python之cookies获取002

    当登录接口返回的cookies对象为RequestsCookieJar[]时,如何获取cookies呢?如下登录功能:

    import requests
    import json
    
    header ={"User-Agent": "Chrome/75.0.3770.100","Content-Type": "application/json;charset=UTF-8"}
    login_url="http://xxx:8765/Index/index"
    login_data={"mobile_phone": "18684720xxx", "pwd": "12345678"}
    login_res = requests.request("post",login_url,data=json.dumps(login_data),headers=header)
    print("返回状态码",login_res)
    print("cookies",login_res.cookies)

    请求结果为:

    返回状态码 <Response [200]>
    cookies <RequestsCookieJar[<Cookie fengwoo=191jcmgj9os7vfr58h503p6oj6 for 120.78.128.25/>]>

    cookies被存放到RequestsCookieJar[],cookie数据类型中,结构组成类似字典,是用<>和,组成,没有单引号和双引号。所以我们可以通过

    RequestsCookieJar[cookie.key] =cookie.value的形式访问cookie。

    思路:

    先将cookies转化为字典,再将字典转化为字符串

    # 使用utils.dict_from_cookiejar 将cookies数据类型转化为字典
    cookies_dict = requests.utils.dict_from_cookiejar(login_res.cookies)
    # 再使用 json.dumps 将字典转化为str字符串
    cookies_str = json.dumps(cookies_dict)
    #cookies获取,key="fengwoo"
    print(type(cookies_str),cookies_str)
    print(cookies_dict["fengwoo"])

    请求结果为:

    <class 'str'> {"fengwoo": "4va1ga0crtnajcg5illobi7ku4"}
    4va1ga0crtnajcg5illobi7ku4

    另外,如果将str字符串还原为cookies,思路与上面恰好相反:

    先将字符串转化为字典,再将字典转化为cookies

    # 使用json的loads函数,把str转化为字典。这里需要注意是loads,不是load
    cookies_dict = json.loads(cookies_str)
    # 再将字典恢复成原来的cookies
    cookies = requests.utils.cookiejar_from_dict(cookies_dict)
     
  • 相关阅读:
    IIC/I2C从地址之7位,8位和10位详解
    ARM uxtw
    ARM(CM3)的汇编指令
    WZR/XZR ARM
    LDR r, label 和 LDR r, =label的区别
    Distinguishing between 32-bit and 64-bit A64 instructions
    03JavaScript程序设计修炼之道_2019-06-18_20-39-14_事件onload&onmouseover&out
    02-CSS基础与进阶-day6_2018-09-05-20-18-21
    02-CSS基础与进阶-day5_2018-09-03-22-10-39
    02-CSS基础与进阶-day5_2018-09-03-21-41-57
  • 原文地址:https://www.cnblogs.com/july-1016/p/14067445.html
Copyright © 2011-2022 走看看