新网络 大佬有话说 : 2019-12-29 23:09:28
有个python问题搞几天烦死了
requests.Session().cookies 已经有url1的cookie
requests.Session().post(url1,data)
# url1地址post 302转跳url2地址 url2地址get 302又转跳url3地址
试过只要get url2地址就能任意平台打开就已经是登录状态
# url1与url2和url3不同域名 url2和ur3是同域名
问题直接 requests.Session().post(url1,data) 获取不了url3的cookies 我真纳闷
因为试过只要get url2地址就能任意平台打开就已经是登录状态所以
qy_req = requests.Session().post(url=qy_url, data=qy_data, allow_redirects=False).headers[‘Location’]
qylogin_req = requests.Session().get(url=qy_req)
最后url3的cookie还是空
大佬有懂得吗?我苦恼了3天了
忘江湖 大佬有话说 : 2019-12-29 23:18:49
这种情况我一般的做法是,先在抓包程序里面把正常情况下的跳转情况完全搞清楚。
然后自己模拟彻底禁止重定向,不让它跳转,每次跳转都自己牢牢控制,禁止重定向后得到hede头信息,拿到cookie和location,再进行访问location,继续一步一步处理,这样每个环节都在掌控中了。
你要让它自己重定向,很多时候那就呵呵了
babyby168 大佬有话说 : 2019-12-29 23:39:58
所以你每个请求都用一个新的session干什么
ljm4216 大佬有话说 : 2019-12-29 23:45:16
看看大佬怎么说
新网络 大佬有话说 : 2019-12-30 00:10:25
本帖最后由 新网络 于 2019-12-30 00:18 编辑
忘江湖 大佬有话说 : 2019-12-29 23:18
这种情况我一般的做法是,先在抓包程序里面把正常情况下的跳转情况完全搞清楚。
然后自己模拟彻底禁止重定 …
有一个问题想问问大佬
就是比如我们访问一个域名时候已经有JSESSIONID 就算不登录时候 这个是这么获取
因为我不登录直接 get url3网页也是没有cookice 因为我电脑或者手机直接访问url3是会获得cookice 所以一直很不解
qy_req = requests.post(url=qy_url, data=qy_data, cookies=cu, allow_redirects=False)
qylogin_req = requests.get(url=qy_req.headers[‘Location’], cookies=qy_req.cookies, allow_redirects=False)
qyhome_req = requests.get(url=qylogin_req.headers[‘Location’], cookies=qylogin_req.cookies)
分了三段还是不行
新网络 大佬有话说 : 2019-12-30 00:11:39
babyby168 大佬有话说 : 2019-12-29 23:39
所以你每个请求都用一个新的session干什么
直接requests.getpost 都试过了 心好累
qmsht 大佬有话说 : 2019-12-30 00:20:04
这都跨域了,你浏览器看看三个URL的cookie一样不
蓝色幽影 大佬有话说 : 2019-12-30 00:25:45
cookie是分域的啊,你既然不同域你就手动管理一下cookie呗
忘江湖 大佬有话说 : 2019-12-30 08:39:20
新网络 大佬有话说 : 2019-12-30 00:10
有一个问题想问问大佬
就是比如我们访问一个域名时候已经有JSESSIONID 就算不登录时候 这个是这么获取
先准备一个抓包环境,清除所有的cookie和缓存。
开始抓包,第一次访问网页,一直到你的多次跳转结束。
然后把里面的所有封包,所有cookie,所有sessionid,都搞清楚,因为是全新的环境,那jsessionid从哪里诞生,从哪里改变,如何改变,都一目了然。
然后你就在哪里诞生,你就在哪里去初始化,在哪里改变,你也对应做改变,一模一样的模拟真实环境就可以了。你能问出这个问题,很明显说明你连真实环境的流程都没搞清楚,就茫然开搞,不折腾死你才怪。
羊毛党 大佬有话说 : 2019-12-30 08:41:02
你问过地方了,尽量去v2问技术问题,这里更多是等大佬或者叫你先重启