Python请求使用Cookies重新创建Post请求

2024-10-02 00:26:15 发布

您现在位置:Python中文网/ 问答频道 /正文

所以我在chrome控制台上查看我正在发出的post请求,头文件中有一个“cookie”值,其中包含以下数据:

strTradeLastInventoryContext=730_2;bCompletedTradeOffertial=true;steamMachineAuth76561198052177472=3167F37117**********B82C2E;steamMachineAuth76561198189250810=E29277004E*************B5F97703126DE48E;rgDiscussionPrefs=%7B%22cTopicRepliesPerPage%*****%7D;sessionid=053257f1102e4967e2527ced;steamCountry=US%7C708d3**********e569cc75495;steamLogin=76561198052177472%7C%7C4EC6FBDFA0*************12DE568;steamLoginSecure=765611*************44BEC4E8BDA86264;webtrade资格=%7B%22允许%22%3A1%2C%22允许使用u在u时间%22%3A0%2C%22steamguard\u所需天数22%3A15%2C%2C%22销售本年度销售本年度本年度22%3A9%9%2C%22最大每u销售每u每每每u销售每每每u年度22%3A200%2C%2C%22表单表单表单u请求u请求*************冷却时间冷却[u天数]22%3A7 7%7D;strinventoryntorylastracontext=730\u 2;最近一次访问的apphubs=42700%2C2次。”*******************************************************************************************************930%2C440;时区偏移=-14400,0;__utma=268881843.1147920287.1419547163.1431887507.143180089.151;Uu utmb=268881843.0.10.143180089;Uu utmc=268881843;Uu utmz=268881843.1431885538.149.94。utmcsr=google | utmccn=(有机)| utmcmd=有机| utmctr=(未提供%20)

我用星号标出了饼干的一些数据,这样我的交易账户就不会被抢了,但你应该明白这一点。我该如何重新制作饼干?比如我应该创建一个dict,其中的键是cookie中“=”之前的值,而值是“=”符号之后的值?对不起,如果问题不清楚,我不知道该怎么做。任何帮助都将是伟大的!在

例如,cookie={strTradeLastInventoryContext:730匼2,…}


Tags: 数据true表单头文件cookie时间chromepost
2条回答

这里有两种选择。在


如果您恰好有一个您想要完全复制为一个大字符串的Cookie头(例如,让一个{}驱动的作业接管您在浏览器中创建的会话,手动或使用selenium或其他任何方式),您只需将其作为一个名为Cookie的任意头来传递,而不是弄清楚如何将其分开,这样requests就可以(希望)重新组合您想要的相同头。在


另一方面,如果您需要动态地创建它的一部分,那么是的,您将想要做您正在做的事情,将它分离以构建一个名为cookie的dict,然后将其与requests.get(url, cookies=cookie),或{}或类似的(如果您使用的是会话和准备好的请求)。然后你可以很容易地在发送前修改dict。在

但最简单的方法是不要手动将饼干分开。我很确定WebKit开发工具可以直接在Chrome中为您实现这一点。或者,如果不是,您可以将cookie复制为字符串,然后使用^{}模块(在Python 2.x中称为^{}),如下所示:

cookie = http.cookies.BaseCookie(cookie_string)

另外,请注意,在很多情况下,您甚至不需要这样做。如果您可以直接从requests驱动登录和导航,而不是从Chrome开始,那么它应该在每个请求中得到所需的完整cookies集。您可能需要使用^{},但这很难做到。在

您可能需要查看cookies.的请求文档 cookie值作为字典键/值传递给get调用是正确的。在

cookies = {'cookie_key': 'somelongstring'}
requests.get(url, cookies=cookies)

相关问题 更多 >

    热门问题