您现在的位置是:首页 > 正文

[Python]Python中处理requests获得的cookies的3种方法

2024-01-30 19:39:12阅读 0

Python中处理requests获得的cookies的3种方法

一. 用requests.utils.dict_from_cookiejar() 把返回的cookies转换成字典

  1. 处理cookies:
import requests

def login():
    login_url = 'http://www.xxx.com/login
    headers = {
        "Accept": "application/json, text/javascript, */*; q=0.01"
    }
    body = {
        "usercode": "liuzz05@****.com",
        "password": "123456"
    }
    try:
        res = requests.post(url=login_url, headers=headers, data=body)
        cookies = res.cookies

        cookie = requests.utils.dict_from_cookiejar(cookies)

        return cookie
    except Exception as err:
        print('获取cookie失败:\n{0}'.format(err))
  1. 使用cookie:
 import requests
 
 def get_data():
     cookie = login()
     res = requests.get(url=get_data_url, cookies=cookie)
     print(res.text)

二. 遍历cookies的键值,拼接成cookie格式

  1. 处理cookies:
import requests

def login():
    login_url = 'http://www.xxx.com/login
    headers = {
        "Accept": "application/json, text/javascript, */*; q=0.01"
    }
    body = {
        "usercode": "liuzz05@****.com",
        "password": "123456"
    }
    try:
        res = requests.post(url=login_url, headers=headers, data=body)
        cookies = res.cookies.items()

        cookie = ''
        for name, value in cookies:
            cookie += '{0}={1};'.format(name, value)

        return cookie
    except Exception as err:
        print('获取cookie失败:\n{0}'.format(err))
  1. 使用cookie:
import requests

def get_data():
    cookie = login()
    headers = {
        "cookie": cookie
    }
    res = requests.get(url=get_data_url, headers=headers)
    print(res.text)

三. 直接拼接cookies,这种方法比较傻,前提是要知道cookies的键

import requests

def login():
    login_url = 'http://www.xxx.com/login
    headers = {
        "Accept": "application/json, text/javascript, */*; q=0.01"
    }
    body = {
        "usercode": "liuzz05@****.com",
        "password": "123456"
    }
    try:
        res = requests.post(url=login_url, headers=headers, data=body)
        cookies = res.cookies

        phpsessid = cookies['phpsessid']
        env_orgcode = cookies['env_orgcode']
        acw_tc = cookies['acw_tc']
        aliyungf_tc = cookies['aliyungf_tc']
        last_env = cookies['last_env']

        cookie = 'phpsessid={0};env_orgcode={1};acw_tc{2};aliyungf_tc={3};last_env={4}'.format(
            phpsessid, env_orgcode, acw_tc, aliyungf_tc, last_env
        )

        return cookie
    except Exception as err:
        print('获取cookie失败:\n{0}'.format(err))
import requests

def get_data():
    cookie = login()
    headers = {
        "cookie": cookie
    }
    res = requests.get(url=get_data_url, headers=headers)
    print(res.text)

网站文章

  • 损失函数总结(二):L1Loss、MSELoss

    损失函数总结(二):L1Loss、MSELoss

    本文对损失函数进行了部分总结,包括:L1Loss、MSELoss等损失函数及其在当前损失函数众多的情况下使用的环境。总的来说:对于回归任务,最常使用的就是MSELoss,二L1Loss因其本身的特点很少使用。。。。

    2024-01-30 19:39:05
  • nodejs mysql连接与使用攻略

    nodejs mysql连接与使用攻略

    目录mysql安装nodejs连接mysql mysql安装 首先确保mysql的安装,去官网下载对应的安装包解压。 我的安装目录是在D:\MySQL\mysql-8.0.20-winx64。 添加环...

    2024-01-30 19:38:57
  • Python爬虫相关知识

    Python爬虫相关知识

    正则表达式:开源中国测试网站匹配最近的那个好匹配最远的那个好requests.exceptions.ConnectionError:Max retries exceeded with url(Caused by NewConnectionError(’<…错误解决办法

    2024-01-30 19:38:30
  • 阿里云sts结合kms服务

    阿里云的sts集合kms服务 1.服务需要每次先请求临时的keyid和secret以及token,然后用其来获得加密文件的所需密钥。 由于不能讲原始的key等机密数据始终携带在代码中,所以才去机器授权...

    2024-01-30 19:38:21
  • linux - jenkins安装与卸载 最新发布

    3.执行完毕后,去修改jenkins配置。4. jenkins服务启动。5.卸载jenkins命令。1.下载jenkins包。

    2024-01-30 19:38:14
  • 戴尔vostro 5460 开不了机,按电源键没反应。

    戴尔vostro 5460 开不了机,按电源键没反应。

     戴尔vostro 5460 开不了机,按电源键没反应。 本打算送修,但已经过保修期了。上次去修花了500,开机检查350。 自己拆机。给主板电池放电,搞定,省了500大洋。  把主板电池的插头拔了,等几秒钟,在插上。开机试试看。祝好运

    2024-01-30 19:37:43
  • python line.strip().split(),python: line=f.readlines()消除line中\n的方法

    python line.strip().split(),python: line=f.readlines()消除line中\n的方法

    测试代码#结果:#[&#39;eray\n&#39;, &#39;eray\n&#39;, &#39;bike\n&#39;]#打印出来的带 \n ,怎么去掉\n呢?#解决方法:#1、#结果:#[&#...

    2024-01-30 19:37:37
  • nginx tcp

    nginx tcp

    2024-01-30 19:37:22
  • mybatisplus-spring-boot-starter 1.0.4

    mybatisplus-spring-boot-starter 1.0.4引入逻辑删除插件

    2024-01-30 19:37:15
  • H5图片点击放大 最新发布

    使用原生js实现点击图片进行放大预览

    2024-01-30 19:36:45