【问题标题】:Python Session update cookiesPython 会话更新 cookie
【发布时间】:2021-04-28 11:44:11
【问题描述】:

更新:我尝试了 12 种建议的解决方案,但都没有奏效。 我的问题是否缺少任何细节?建议的答案不能解决问题

我在 python 中写道:

print(s.cookies.get_dict())

s 是我的会话,输出是:

{'lubl': 'https%3A%2F%2Fopenworld.com%2Fconfirm', 'rishum': 'SHjshd2398-'}

现在我的问题是如何编辑 rishum cookie,以便我想在它旁边附加“测试”(或者为了简单起见,将其替换为“测试”)?

例如,我想要:

'rishum': 'SHjshd2398-test'

注意:正如有人建议的那样,我尝试了以下方法但没有奏效:

print(s.cookies.get_dict())
s.cookies.get_dict()['rishum'] = 'test'
print(s.cookies.get_dict())

前后输出为:

{'lubl': 'confirm', 'rishum': 'SUqsadkjn239s8n-', 'PHPSESSID': 'nfdskjfn3k42342', 'authchallenge': 'asjkdnjnkj34'}

{'rishum': 'SUqsadkjn239s8n-', 'lubl': '确认', 'PHPSESSID': 'nfdskjfn3k42342', 'authchallenge': 'asjkdnjnkj34'}

请注意顺序已更改。

【问题讨论】:

  • 我在互联网上尝试了所有方法,但没有任何效果
  • 在公共场合我有:s = Session()

标签: python python-3.x session cookies session-cookies


【解决方案1】:

我从你的问题中理解的方式,s是json文件,等于

s = {'lubl': 'https%3A%2F%2Fopenworld.com%2Fconfirm', 'rishum': 'SHjshd2398-'}

如果你想在'rishum'的末尾添加'test',你需要执行以下操作

s['rishum'] = s['rishum'] + 'test' 

print(s)

我相信你的错误是你调用了两次函数,这就是你看到相同答案的原因。

【讨论】:

  • 什么叫了两次?我之前和之后都打印了,但没有做任何更改。加 s 不是我提到的 json s=session()
【解决方案2】:

在这种情况下,您首先需要删除您的 cookie,然后再创建一个新的, 我会这样做:

print(s.cookies.get_dict())

my_cookie = s.cookies.get_dict()['rishum'] + 'test' 
s.cookies.set('rishum', None)
s.cookies.set('rishum', my_cookie)

print(s.cookies.get_dict())

【讨论】:

    猜你喜欢
    • 2021-04-25
    • 1970-01-01
    • 2011-10-21
    • 2021-10-20
    • 1970-01-01
    • 2016-08-10
    • 1970-01-01
    • 1970-01-01
    • 2011-04-16
    相关资源
    最近更新 更多