使用 Python 请求在请求之间设置新的 cookie

2023-12-15

我现在正在这样做,但在最后一行失败了TypeError: expected string or buffer.

import requests
from urllib.parse import urlparse

url = 'some url'

s = requests.Session()
s.headers.update({
    'Origin':urlparse(url).netloc,
    'Referer':url
})


r = s.get(url)

s.cookies['cookie1'] = 25
s.cookies['cookie2'] = 25

r = s.post(
    url,
    {'param':'value1', 'param2':'value2'},
    headers={'X-Requested-With':'XMLHttpRequest'}
)

使用时更新cookie的正确方法是什么Session?我对 Python 还很陌生,所以我可能混淆了一些东西。使用Python 3.4.1。

追溯:

Traceback (most recent call last):
  File "file.py", line 37, in <module>
    {'param':'value1', 'param2':'value2'}
  File "/Library/Frameworks/Python.framework/Versions/3.4/lib/python3.4/site-packages/requests/sessions.py", line 498, in post
    return self.request('POST', url, data=data, **kwargs)
  File "/Library/Frameworks/Python.framework/Versions/3.4/lib/python3.4/site-packages/requests/sessions.py", line 422, in request
    prep = self.prepare_request(req)
  File "/Library/Frameworks/Python.framework/Versions/3.4/lib/python3.4/site-packages/requests/sessions.py", line 360, in prepare_request
    hooks=merge_hooks(request.hooks, self.hooks),
  File "/Library/Frameworks/Python.framework/Versions/3.4/lib/python3.4/site-packages/requests/models.py", line 296, in prepare
    self.prepare_cookies(cookies)
  File "/Library/Frameworks/Python.framework/Versions/3.4/lib/python3.4/site-packages/requests/models.py", line 491, in prepare_cookies
    cookie_header = get_cookie_header(self._cookies, self)
  File "/Library/Frameworks/Python.framework/Versions/3.4/lib/python3.4/site-packages/requests/cookies.py", line 134, in get_cookie_header
    jar.add_cookie_header(r)
  File "/Library/Frameworks/Python.framework/Versions/3.4/lib/python3.4/http/cookiejar.py", line 1329, in add_cookie_header
    attrs = self._cookie_attrs(cookies)
  File "/Library/Frameworks/Python.framework/Versions/3.4/lib/python3.4/http/cookiejar.py", line 1288, in _cookie_attrs
    self.non_word_re.search(cookie.value) and version > 0):
TypeError: expected string or buffer

Cookie 值是字符串,而不是整数。将它们设置如下:

s.cookies['cookie1'] = '25'
s.cookies['cookie2'] = '25'

Demo:

>>> import requests
>>> from urllib.parse import urlparse
>>> url = 'http://httpbin.org/cookies'
>>> s = requests.Session()
>>> s.headers.update({
...     'Origin':urlparse(url).netloc,
...     'Referer':url
... })
>>> r = s.get(url)
>>> s.cookies['cookie1'] = '25'
>>> s.cookies['cookie2'] = '25'
>>> r = s.get(url, headers={'X-Requested-With':'XMLHttpRequest'})
>>> print(r.text)
{"cookies": {"cookie1": "25", "cookie2": "25"}}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 Python 请求在请求之间设置新的 cookie 的相关文章

  • Python、Tkinter、更改标签颜色

    有没有一种简单的方法来更改按钮中文本的颜色 I use button text input text here 更改按下后按钮文本的内容 是否存在类似的颜色变化 button color red Use the foreground设置按钮
  • 使用 openCV 对图像中的子图像进行通用检测

    免责声明 我是计算机视觉菜鸟 我看过很多关于如何在较大图像中查找特定子图像的堆栈溢出帖子 我的用例有点不同 因为我不希望它是具体的 而且我不确定如何做到这一点 如果可能的话 但我感觉应该如此 我有大量图像数据集 有时 其中一些图像是数据集的
  • 如何收集列表、字典等中重复计算的结果(或制作修改每个元素的列表的副本)?

    There are a great many existing Q A on Stack Overflow on this general theme but they are all either poor quality typical
  • DreamPie 不适用于 Python 3.2

    我最喜欢的 Python shell 是DreamPie http dreampie sourceforge net 我想将它与 Python 3 2 一起使用 我使用了 添加解释器 DreamPie 应用程序并添加了 Python 3 2
  • 导入错误:没有名为 _ssl 的模块

    带 Python 2 7 的 Ubuntu Maverick 我不知道如何解决以下导入错误 gt gt gt import ssl Traceback most recent call last File
  • Python 中的二进制缓冲区

    在Python中你可以使用StringIO https docs python org library struct html用于字符数据的类似文件的缓冲区 内存映射文件 https docs python org library mmap
  • 当玩家触摸屏幕一侧时,如何让 pygame 发出警告?

    我使用 pygame 创建了一个游戏 当玩家触摸屏幕一侧时 我想让 pygame 给出类似 你不能触摸屏幕两侧 的错误 我尝试在互联网上搜索 但没有找到任何好的结果 我想过在屏幕外添加一个方块 当玩家触摸该方块时 它会发出警告 但这花了很长
  • 表达式中的 Python 'in' 关键字与 for 循环中的比较 [重复]

    这个问题在这里已经有答案了 我明白什么是in运算符在此代码中执行的操作 some list 1 2 3 4 5 print 2 in some list 我也明白i将采用此代码中列表的每个值 for i in 1 2 3 4 5 print
  • 使用 Javascript 设置 cookie [重复]

    这个问题在这里已经有答案了 我正在尝试构建我的第一个移动应用程序 它需要连接到我的 mysql 数据库并使用 json 返回数据 这很好 目前我有一个登录系统 一旦确定用户名和密码存在 它就会返回一条成功消息 对于下一步 我想在我的页面上使
  • Python - 按月对日期进行分组

    这是一个简单的问题 起初我认为很简单而忽略了它 一个小时过去了 我不太确定 所以 我有一个Python列表datetime对象 我想用图表来表示它们 x 值是年份和月份 y 值是此列表中本月发生的日期对象的数量 也许一个例子可以更好地证明这
  • 使用 Vaadin Flow Web 应用程序处理全局所有布局和“路由”URL 的登录

    Vaadin 8 在 Vaadin 8 中 在我的UI子类我通过检查用户的会话是否带有一个属性来处理登录 该属性表明他们是否已成功登录 如果没有的话 我的UI子类显示登录布局 而不是带有导航选项的其他内容 例如菜单栏和在该 UI 内切换布局
  • Nuitka 未使用 nuitka --recurse-all hello.py [错误] 编译 exe

    我正在尝试通过 nuitka 创建一个简单的 exe 这样我就可以在我的笔记本电脑上运行它 而无需安装 Python 我在 Windows 10 上并使用 Anaconda Python 3 我输入 nuitka recurse all h
  • Python:计算字典的重复值

    我有一本字典如下 dictA unit1 test1 alpha unit1 test2 beta unit2 test1 alpha unit2 test2 gamma unit3 test1 delta unit3 test2 gamm
  • 检查所有值是否作为字典中的键存在

    我有一个值列表和一本字典 我想确保列表中的每个值都作为字典中的键存在 目前我正在使用两组来确定字典中是否存在任何值 unmapped set foo set bar keys 有没有更Pythonic的方法来测试这个 感觉有点像黑客 您的方
  • VSCode:调试配置中的 Python 路径无效

    对 Python 和 VSCode 以及 stackoverflow 非常陌生 直到最近 我已经使用了大约 3 个月 一切都很好 当尝试在调试器中运行任何基本的 Python 程序时 弹出窗口The Python path in your
  • 如何从没有结尾的管道中读取 python 中的 stdin

    当管道来自 打开 时 不知道正确的名称 我无法从 python 中的标准输入或管道读取数据 文件 我有作为例子管道测试 py import sys import time k 0 try for line in sys stdin k k
  • glpk.LPX 向后兼容性?

    较新版本的glpk没有LPXapi 旧包需要它 我如何使用旧包 例如COBRA http opencobra sourceforge net openCOBRA Welcome html 与较新版本的glpk 注意COBRA适用于 MATL
  • 在python中,如何仅搜索所选子字符串之前的一个单词

    给定文本文件中的长行列表 我只想返回紧邻其前面的子字符串 例如单词狗 描述狗的单词 例如 假设有这些行包含狗 hotdog big dog is dogged dog spy with my dog brown dogs 在这种情况下 期望
  • Python - 字典和列表相交

    给定以下数据结构 找出这两种数据结构共有的交集键的最有效方法是什么 dict1 2A 3A 4B list1 2A 4B Expected output 2A 4B 如果这也能产生更快的输出 我可以将列表 不是 dict1 组织到任何其他数
  • Python:元类属性有时会覆盖类属性?

    下面代码的结果让我感到困惑 class MyClass type property def a self return 1 class MyObject object metaclass MyClass a 2 print MyObject

随机推荐

  • 找到给定数字的所有因数的最佳方法

    所有能整除 x 的数字 我输入 4 它返回 4 2 1 编辑 我知道这听起来很家庭作业 我正在编写一个小应用程序 用半随机测试数据填充一些产品表 其中两个属性是 ItemMaximum 和 Item Multiplier 我需要确保乘数不会
  • 重塑数据框并创建相似度矩阵

    我有一个数据表 我尝试重塑它 但它不起作用 我该怎么做 我有一个数据表 Name Value Bob 8 9 10 Mike 2 3 4 Sandr 5 6 7 我如何将其放入一个列表中 例如 Value Name 2 Mike 3 Mik
  • 自动加载bitbucket存储库+composer.json

    我想使用 Composer 将 bitbucket 存储库添加到我的供应商文件夹中 这是我的composer json 中的内容 require silex silex 1 1 doctrine dbal 2 2 twig twig 1 s
  • 如何在 mysql 中查找日期时间行的时间增量?

    我在数据库中有一个列 它提供一系列传感器读数的日期时间戳 我想将这些读数分割成不间断的 连续的传感器读数组 如果传感器读数损坏 则日期时间列中将会出现中断 因此 我想对日期时间列执行查询 然后计算连续读数之间的差异 假设我的查询是 sele
  • Unity 5 中的 UnityScript“通用函数”

    在遵循其网站上的 Unity3D 教程时 http unity3d com learn tutorials projects roll a ball moving the player 我遇到过 通用函数 http docs unity3d
  • 配置 IntelliJ IDEA 以使用 JUnit 进行单元测试

    今天早上我决定通过试用版尝试一下 IntelliJ 并安装了 JUnit 插件 我创建了一个新的 Java 项目 我想为其编写一个测试用例 如何将 junit jar 文件添加到我的项目中 我实际上想将它添加到每个 java 项目中 现在和
  • Slim 框架:不允许使用方法 不允许使用方法。必须是以下之一:POST

    我正在 PHP 中设置 REST 服务器 并希望允许客户端使用具有不同方法的端点 例如 GET POST PUT DELETE 等 但是 当我尝试添加 POST 方法的函数时 出现了一个问题 如果我尝试通过 Postman 使用 POST
  • Xgboost 随机种子设置不能确保再现能力

    尽管设定了一个值random state and or seed参数 性能不可重现XgboostSklearn API 包装器 这是代码 from xgboost sklearn import XGBClassifier from skle
  • QWidget不绘制背景色

    我正在使用 PySide 1 2 1 和 Python 2 7 我需要一个小部件来绘制彩色背景 在 Qt Designer 中 我创建了一个简单的窗口 其中包含一个标签 一个包含三个其他项目的小部件和另一个标签 对于包含按钮 单选按钮和复选
  • 如何使 1 + 1 = 2 而不是 1 + 1 = 11 [重复]

    这个问题在这里已经有答案了 我试图以数学方式添加数字 但它不断添加后面的数字 它获取 id 编号 begen 然后获取另一个 div 内的编号 kacbegen var begen this attr id var kacbegen mat
  • 通过 CSS 选择器选择两个已知元素之间的所有元素

    我有两个已定义 id 的元素 它们之间有任何 html 例如 div Hello div div Example div hr a href Example a div World div 是否有 CSS 选择器可以选择 d1 和 d2 之
  • HTTP 状态 500 - Servlet appServlet 的 Servlet.init() 引发异常

    我想尝试一个简单的程序 但出现以下错误 我正在使用 Eclipse Kelper 和 Tomcat 7 0 尝试了很多事情 但没有什么对我有用 HTTP Status 500 Servlet init for servlet appServ
  • Firebase 安全规则阻止写入 Firebase

    注 此问题已标记 polymer 因为 Polymer 库用于生成 Javascript 这个问题是关于处理 Firebase 安全性的两个不同但相关的问题 在尝试让 Firebase 安全规则发挥作用时 问题 1 和问题 2 似乎提出了相
  • Javascript 通过匹配字符串对数组进行排序

    我有一个包含地理位置代码结果的数组 我想按与我搜索过的术语最接近的匹配项对其进行排序 例子 搜索 Pizza Array Pizza Uno Pizzeria Uno Burgers and Pizzeria Cino Pizzeria 排
  • 如何绕过 Swagger-UI 的身份验证?

    如何从浏览器绕过 Swagger UI 的令牌身份验证 我可以通过 Postman 向 Swagger UI 发出请求 当我从浏览器发出请求时 我收到错误 因为它请求令牌 http localhost 8080 swagger ui ind
  • 如何使用所需的 BSTR* 参数正确调用 IDispatch::Invoke

    有很多关于如何使用 BSTR 参数调用 IDispatch Invoke 的示例 我将此与许多其他 SomeType 参数一起使用 但无论我尝试什么 我要么得到类型不匹配的HRESULT E OUTOFMEMORY 要么得到访问冲突 在我看
  • 为什么我不能简单地将安装的 Perl 模块复制到其他机器上?

    我对 Perl 很陌生 但对动态语言还不太熟悉 我对模块的管理如此不直接感到有点惊讶 Sure cpan X理论上确实有效 但我正在从三台不同的机器和操作系统上处理同一个项目 在工作中 在家里 在外部环境中进行测试 在工作中 Windows
  • 使用内容值的更新方法

    Helper public boolean mMessagesSent String ID int Data SQLiteDatabase db this getWritableDatabase ContentValues contentV
  • 调用非对象上的成员函数 num_rows()

    我正在使用 CodeIgniter 并且我想从数据库中的表中获取一些数据 在我的模型中 我有这个功能 public function fetch cours limit start element id element this gt db
  • 使用 Python 请求在请求之间设置新的 cookie

    我现在正在这样做 但在最后一行失败了TypeError expected string or buffer import requests from urllib parse import urlparse url some url s r