python - 将请求 session cookie 导入浏览器

标签 python session cookies python-requests

我正在尝试从请求模块的 session 中获取cookie,并将它们导入浏览器以“直观地了解”正在发生的情况。我已经尝试过网络驱动程序,但为了方便起见,我在 chrome 中使用“编辑此 cookie”扩展,这已经派上用场了。

我有这样的东西。

import requests;
session=requests.Session();
session.cookies.clear();

url='http://www.mywebsite.com/login/;

data={'user': 'usernamehere',
    'password': 'passhere',
    'auth_token': 'tokenhere'
};
response=session.post(url,data=data);
print response.cookies

它返回类似的内容:

<<class 'requests.cookies.RequestsCookieJar'>[Cookie(version=0, name='', value='', port=None, port_specified=False, domain='www.mywebsite.com',..., rest={}, rfc2109=False)]>

我想知道如何设置此 cookie 或至少将其序列化。我尝试用泡菜倾倒并得到一个

is not JSON serializable

错误。有什么方法可以添加到网络驱动程序或至少以更漂亮的方式打印出来。

谢谢

最佳答案

您可以使用dict_from_cookiejar()来自 requests.utils:

from requests.utils import dict_from_cookiejar

cookies = dict_from_cookiejar(response.cookies)

然后,您可以使用add_cookie()设置浏览器的cookie:

driver = webdriver.Chrome()

# set browser cookies
for key, value in cookies.items():
    driver.add_cookie({'name': key, 'value': value})  # TODO: may be "domain" would also be needed?

关于python - 将请求 session cookie 导入浏览器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35495416/

相关文章:

Apache 中的 PHP session

Android同步cookies webview和httpclient

javascript - 将 php 迁移到 nodejs - 在客户端处理 session

node.js - Node/ express : concurrency issues when using session to store state

javascript - 检索创建的 JavaScript cookie 中存储的数据并将数据转换回 Student 对象

java - 如何停止在每次请求时向服务器发送 cookie

python - Tensorflow <lambda>() 获得意外的关键字参数 'partition_info'

python - str.format(**arg) 可以用来检查格式吗?

python - 最有效的方法是从文本文档中获取 "nibble"第一行文本,然后将其重新保存在 python 中

python - 如何在 Django 管理面板的 modelAdmin 中仅显示日期时间字段中的日期?