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)
     
  • 相关阅读:
    软件工程基础
    第一个微信小项目
    数据库实践
    爬虫
    模拟体育竞技
    自己的第一个网页
    科学计算和可视化
    结队项目
    自动生成小学四则运算
    自动生成小学四则运算
  • 原文地址:https://www.cnblogs.com/july-1016/p/14067445.html
Copyright © 2011-2022 走看看